Feature List - WesTrinhKL/TopFun GitHub Wiki
Features MVP
Sign up / Login / User Authentication
- The application's users will be able to sign up with a username, email and password.
- Usernames will be unique, meaning no one else can have the same username (validations are set in place to ensure this).
- Users will login using their username or email and password through an authentication service.
Authorization
- Features that are only available once the user logs in:
- Editing their profile.
- Make, update and delete list and list items
- Like a list
- Favorite a list
- View lists
- View other users profile, their list genre, and lists
- Follow a user.
- DEMO user
- This feature to allow a new user to test the website functionality without having to sign up.
- The demo user will have limited authorization to certain features.
List
- Each list will contain list items (similar to a photo album containing many photos)
- Logged in users
- Can create, edit and delete lists.
- name a list (i.e. "Top 10 players in the NBA", "Top 10 React resources")
- add cover photo to list
- Users that are not logged in
- Can view lists and view lists on a different users profile page.
- Cannot favorite a list unless logged in.
- Cannot like a list unless logged in.
List Items
- Logged in users
- Can add, edit and delete a list item.
- Users that are not logged in
- Can view lists and view users profile pages.
- Cannot follow a user unless logged in.
- Cannot favorite (star) a list unless logged in.
- Cannot like a list unless logged in.
- List item card will contain:
- title
- an image
- description
- link (optional)
List Genre/Album
- A list will have a main category or genre that it can be tagged under (i.e. "basketball", "manga", "React", "Software Engineering Resources" ,etc.)
- So a list item belongs to a list, and a list belongs under a list genre / album.
Likes
- For liking a list, logged in users can do the following
- Create a like on a list.
- Unlike a list.
- All users can view likes on a list.
Following a user
- Logged in users can follow another user.
- Users that are not logged in
- Cannot follow a user unless logged in.
User feed (home page)
- When logged in, user will be able to see:
- All lists for people they follow (follow tab).
- All lists recommendations (main global feed tab).
README
- Brief explanation of what the app is and does.
- How to start development environment.
- Technologies used.
- Link to live site.
- Link to Wiki docs.
- Discussion of two features that show off the team's technical abilities.
- Discussion of both challenges faced and the way the team solved them.
- Code snippets to highlight the best code.
Bonus
*search for a lists