A full-stack property listing application featuring real-time map visualization, user authentication, and secure cloud deployment.
This project is a modern real estate platform that allows users to search for properties, filter by criteria (buy/rent), view detailed property information, and save their favorite listings.
- Framework: React with Vite
- Styling: SCSS
- Maps: React Leaflet
- Deployment: Hosted on AWS S3 and distributed globally via AWS CloudFront.
- Runtime: Node.js (Express)
- Database: MongoDB with Prisma ORM
- Authentication: JWT with HTTP-only cookies
- Deployment: Containerized service on AWS App Runner.
- IaC: Fully managed via Terraform.
- DNS/SSL: Managed through Cloudflare with AWS-provisioned SSL certificates (ACM).
- CI/CD: Automated via a custom
deploy.shscript.
/api: Express.js backend./client: React frontend./terraform: AWS infrastructure configuration files.
- Node.js (v20+)
- Docker
- AWS CLI & Terraform installed/configured.
- Backend:
cd api npm install # Configure .env node app.js
- Frontend:
cd client npm install npm run dev
This project uses a unified deployment script:
./deploy.sh backend: Deploys API to App Runner../deploy.sh frontend: Deploys React app to S3/CloudFront../deploy.sh all: Deploys both services.
For detailed module documentation, see api/GEMINI.md and client/GEMINI.md.