Stack and Rationale
Stack
This project is built atop a JavaScript-centric stack, both for the frontend and the backend:
- React: Powers the UI
- React Router and Express: Facilitates routing on the frontend
- Tailwind: A utility-based CSS framework
- Strapi CMS (v5): A headless content management system
- nodeJS: A JavaScript server-side runtime
- pnpm: Manages dependencies and facilitates housing all the applications under a single project directory/repo
- NGINX: An HTTP server and serves as a reverse-proxy to the nodeJS server
On the infrastructure side, the following services of AWS are leveraged:
- EC2:
- S3
- CloudFront
Why?
At the time of writing, Godrej is already using the following for their current projects:
- TypeScript, React, nodeJS, essentially a JavaScript-centric stack
- Strapi, for content management
- Amazon Web Services (AWS), for hosting and infra needs
Using the above adds a level of consistency and reduces the barrier to onboarding new contributors to this project.