This is a ecommerce project. However, for the sake of security, this repo is not used for production.
Note: RADIO, a system design framework
Functional requirements:
- Appointment system with calendar and time slots functionality, shopping system, and payment functionality
- Email receipt automation: System should automatically send a receipt to the user after a purchase.
- Login authentication and messenger feature (crucial) (still ongoing)
Non-functional requirements:
- Performance optimization
- Search Engine Optimization (SEO) and Google Analytics (GA) enhancements (still ongoing)
- Periodic renovation of a 3D canvas on the landing page to introduce new upcoming events, aligning with the SEO plan to improve interaction and engagement among viewers. However, performance considerations remain crucial.
On client side
- Data to be persisted:
- Products or events being added to cart. We persist that on localstorage.
- Caches data (products, events) on localstorage after initial pull from firebase. Due to the need of validating stock, will need to pull a fresh data(of that specific product) from firebase.
- Ephemeral data:
- Minor things like filters or position of objects on 3D canvas.
page | HTTP Method | API Path |
---|---|---|
/events | GET | /events |
/events | GET | /event-availabilities |
/shop | GET | /products |
/bio | GET | /bio |
/policies | GET | /policies |
/checkout | POST | /orders |
in CMS | POST | /appointment |
- We will be focusing on UX, performance and SEO since this is a ecommerce website after all.
- Performance optimization report will be updated here below.