Application Setup (DO THIS FIRST)
- Fork this repository into your GitHub account (You can create a GitHub account if you don't have one)
- Clone the repository from your repository
- Checkout main branch
- Install dependencies
- To start development use npm start
This project is about a frontend ecommerce application. the expected time to finish the project is around 12 hours (4 days, 3 hours each).
- Tailwind
- Typescript
- NextJS
- Docker (BONUS)
- Any Free deployment platform Experience (Bonus)
we are open to any /components if it is needed in the test.
After implementing each feature for each test in the respective branch, create a Pull Request and merge to the main branch, then delete the merged branch.
- create a new branch name -
feature/landing-page
- create a clone of this page https://www.lazada.com.my/
- use this when product details is needed : https://fakestoreapi.com/
- this page should be in http://localhost:3000/
PS: clone as similiar as you can. As long as you are able to showcase your skill.
- create a new branch name -
feature/product-listing
- use https://fakestoreapi.com/ as API for listing.
- create filterable, sortable and paginated table.
- the products can be filtered by categories - list of categories can be found at https://fakestoreapi.com/products/categories
- has floating button that when clicked, shows the current items in cart. (data is retained even if the page is refreshed).
- there will also be a quick buy button that redirects the user to receipts page.
- this page should be in http://localhost:3000/products
- create a new branch name -
feature/receipts
based onfeature/product-listing
after you are done with second test. - user will be redirected to this page once user click quick buy at http://localhost:3000/products
- user should be presented with a the items in the cart.
- user should be able to view a pie chart of the price of the items.
- user should be able to download a pdf of the receipts.
- this page should be in http://localhost:3000/receipts
- create a new branch name -
feature/dashboard
- use https://randomuser.me/api/ as API for showing user profile.
- try to utilize every field in the
result
from the response. - this page should be in http://localhost:3000/dashboard
- Dockerize this application.
- Deploy this application online and share the link for viewing.