|
| 1 | +# react-live-coding-test |
| 2 | +## Follow these steps |
| 3 | +Application Setup (DO THIS FIRST) |
| 4 | +- Fork this repository into your GitHub account (You can create a GitHub account if you don't have one) |
| 5 | +- Clone the repository from your repository |
| 6 | +- Checkout main branch |
| 7 | +- Install dependencies |
| 8 | +- To start development use npm start |
| 9 | + |
| 10 | +## Project Overview |
| 11 | +This project is about a frontend ecommerce application. the expected time to finish the project is around 12 hours (4 days, 3 hours each). |
| 12 | + |
| 13 | +### Required knowledge |
| 14 | +1. Tailwind |
| 15 | +2. Typescript |
| 16 | +3. NextJS |
| 17 | +4. Docker (BONUS) |
| 18 | +5. Any Free deployment platform Experience (Bonus) |
| 19 | + |
| 20 | +we are open to any /components if it is needed in the test. |
| 21 | + |
| 22 | +### **IMPORTANT** |
| 23 | +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. |
| 24 | + |
| 25 | +### First Test - Landing page |
| 26 | +1. create a new branch name - `feature/landing-page` |
| 27 | +2. create a clone of this page https://www.lazada.com.my/ |
| 28 | +3. use this when product details is needed : https://fakestoreapi.com/ |
| 29 | +4. this page should be in http://localhost:3000/ |
| 30 | + |
| 31 | +PS: clone as similiar as you can. As long as you are able to showcase your skill. |
| 32 | + |
| 33 | +### Second Test - Product listing |
| 34 | +1. create a new branch name - `feature/product-listing` |
| 35 | +2. use https://fakestoreapi.com/ as API for listing. |
| 36 | +3. create filterable, sortable and paginated table. |
| 37 | +4. the products can be filtered by categories - list of categories can be found at https://fakestoreapi.com/products/categories |
| 38 | +5. has floating button that when clicked, shows the current items in cart. (data is retained even if the page is refreshed). |
| 39 | +6. there will also be a quick buy button that redirects the user to receipts page. |
| 40 | +7. this page should be in http://localhost:3000/products |
| 41 | + |
| 42 | +### Third Test - Receipts page |
| 43 | +1. create a new branch name - `feature/receipts` based on `feature/product-listing` after you are done with second test. |
| 44 | +2. user will be redirected to this page once user click quick buy at http://localhost:3000/products |
| 45 | +3. user should be presented with a the items in the cart. |
| 46 | +4. user should be able to view a pie chart of the price of the items. |
| 47 | +5. user should be able to download a pdf of the receipts. |
| 48 | +6. this page should be in http://localhost:3000/receipts |
| 49 | + |
| 50 | +### Fourth test - Dashboard |
| 51 | +1. create a new branch name - `feature/dashboard` |
| 52 | +2. use https://randomuser.me/api/ as API for showing user profile. |
| 53 | +3. try to utilize every field in the `result` from the response. |
| 54 | +4. this page should be in http://localhost:3000/dashboard |
| 55 | + |
| 56 | +### Bonus |
| 57 | +1. Dockerize this application. |
| 58 | +2. Deploy this application online and share the link for viewing. |
0 commit comments