Tasks:
-
Login form:
- Only login form on first visit
- user can type his name
- user can submit this form (no validation needed)
-
After submitting the login form:
- User's info stored in Database
- user's name appears on the navbar with something like "Welcome, userName"
- redirect the user to the main page
-
The main listing page should display all the products with their:
- image
- name
- price
- time created
- sort feature
- price
- time created
- name
-
Clicking on a single product:
- sends the user to that products’ detail page,
-
Detail Page:
- user can see detailed product information
- seller
- created_at
- categories
- product_id
- etc.
- user can see detailed product information
-
The user should be able to go back to the main page from the product-detail one
Key points:
- Use React and Redux to build this app.
- Use a database(MongoDB is preferred) to store user's information in it. The App should have a functionality to show all users that were previously logged in.
- Create a feature that will allow to sort the products on the main page based on their price, time created, and name.
- Set up cookies for user data
- Prevent unlogged users from going to the main page(or product-details page).
- Host it on any platform you want(ex. AWS, Heroku etc.)
Bonus points:
- Use SSR
- Build some unit tests for this App(ex. using jest, mocha etc.)
- Implement pagination for the main page, so it will show 20-25 products per page.