The motivation for this classical ecommerce app is to build a bigger project where I get to practice what I've learnt and in the same time add new techs (docker, AWS, prisma...) I've been interested in.
Typescript, Nextjs, React, ReduxToolKit, Auth0, Prisma, PostgreSQL,
Docker: Containerizing the app, easier for development
AWS RDS: Running postgresSQL
AWS s3: Storing Users' profile photos
Nodemailer: Sending user feedback from contact page & Sending order info to user from cart page
✔️ Search products by keyword
✔️ Filter products by categories
✔️ Add product to cart
✔️ Check reviews for one product
✔️ Remove product or change quantity
For logged in users | For unauthenticated users | |
---|---|---|
✔️ Cart items are stored in: | Database | Local Storage |
✔️ After checking out, the order info will be: | Added to user's profile page | Sent to user's email |
✔️ The user feedback will be sent to an email
✔️ View and modify user profile
✔️ View shopping history (orders)
✔️ Rate/add review for a specific product in the user's orders
- See the big picture:
In the planning stage of the project, it's wise to think about which techs/frameworks would fit better considering the size and other aspects of the project. For example if to use statemanagement tools like redux or useContext - Think out of the box:
Sometimes when a problem shows up it could be tricky to check only the error message. Sometimes the cause of the error could be something totally irrelavent to the error message.
⬜ Business side
⬜ CMS - contentful
⬜ Stripe for simulating payment
⬜ Upgrade to Nextjs 13