This document provides a comprehensive overview of the project’s technical documentation, including architectural details, security protocols, and key references.
Codebase
- The README files in each repository contain instructions for setting up and starting the project. They provide essential information on how to install dependencies, configure the environment, and run the application locally. we share env variables one to one during onboarding
- Backend Repo: GitLab - Funeral BE
- Frontend Repo: GitLab - Farewell Next.js
System Architecture
- Frontend:
- The Next.js application,
- Its mix of client-side and server-side rendering,
- The frontend communicates with the backend through RESTful APIs.
- Backend:
- Forwarding api gateway requests to AWS Lambda functions and handling API requests.
- Configured Authorizer with JWT Token for private apis.
- We also have S3 buckets for storing funeral home images and other static assets.
- Our VPC is structured with 3 public subnets and 3 private subnets to enhance security and traffic management. A NAT gateway is employed to allow outbound internet access for private resources.
- Database:
- MongoDB hosted on a Mongodb Atlas server.
- For security and static ip address we are using VPC to connect Lambda and Mongodb.
- Scalability and Reliability:
- The architecture supports automatic scaling with AWS Lambda, and MongoDB Atlas allows for easy database scaling.
- Payment Gateway: Stripe.
- Error Tracking: Sentry.
- Task Management: Notion.
- API details: managing Payload and Response with Postman.