Description
Flutter is a photo management and photo sharing application where users can upload, organize, and share their photos.
Users may also caption and tag their own photos, as well as comment on all photos.
Technologies Employed
This application is built using the React.js library with Redux (for maintaining application state) on the frontend together with Rails for implementing the necessary APIs on the backend server. AJAX used to enable asynchronous interaction between frontend and backend.
The database used is PostgreSQL.
CSS3 was used for frontend styling.
Feature 1: User Authentication
- User visits the application flutter
- User clicks the login (existing user) or signup button (new user)
2 A. Logging in. On clicking Login button, user may enter their credentials or click Demo button to try out the site without having to create an account
- User clicks the Demo button
- User enters their own credentials with errors. The errors are displayed and handled allowing user to correct their input
- Upon successful login, user is directed to an index page showing all photos. The navigation bar shows a greeting for the current user
2 B. Signing Up
- On clicking the signup button, user sees the signup form
- User Signs Up with invalid credentials, missing password.
- User Signs Up with invalid credentials, missing email.
- User Signs Up with invalid credentials, duplicate username. User receives feedback with suggested correction
Feature 2: Photos
Feature 3: Albums
Coming soon
Feature 4: Tags
Coming soon
Feature 5: Comments
Coming Soon
Pending List
- Implement albums feature
- Implement tags and comments features
- Enhance frontend design responsive based on device screensize