Topology - HoseaCodes/PropFlow-UI GitHub Wiki
+-------------------+
| End Users |
| (Airbnb Hosts) |
+--------+----------+
|
v
+------------+-------------+
| Angular Frontend | (Hosted on Vercel)
| - Weekly Report UI |
| - Dashboard + Charts |
| - Email trigger button |
+------------+-------------+
|
HTTPS (API Calls) |
v
+------------+-------------+
| Node.js + Express API | (Hosted on EC2)
| - REST API |
| - Business Logic |
| - Cron Jobs (weekly) |
+------------+-------------+
|
+-----------------+-----------------+
| |
v v
+-----------+ +-------------------+
| MongoDB | (Atlas or EC2) | OpenAI API |
| - Bookings | - Review analysis |
| - Weekly Reports | - Suggestions |
| - Property Data +-------------------+
| - Operational Costs |
+-----------+-------------------+
|
v
+------+-------------------------+
| Nodemailer / Mailgun / SES | (Transactional Emails)
| - Sends weekly report email |
+-------------------------------+
-
Frontend: Deployed to Vercel
-
Environment variables for API base URL
-
Fetches weekly reports and user preferences
-
-
Backend (API + Scheduler): Deployed to EC2
-
Uses PM2 or Docker for uptime
-
Node Cron triggers report generation weekly
-
Makes outbound requests to OpenAI
-
-
Database: Use MongoDB Atlas for easier scaling + reliability
-
AI Layer: Uses OpenAI GPT-4 via API (can later replace with fine-tuned local model)
-
Email Service: Use Nodemailer with SMTP (Gmail for dev, Mailgun or SES in prod)
Component | Description |
---|---|
Google Calendar Sync | Sync calendar for availability and marketing timing |
Stripe / RevenueCat | Handle payments for subscription plans |
Firebase Auth | Replace or enhance login with email/social login |
Analytics (PostHog, LogRocket) | Track usage and improve retention |
Caching Layer (Redis) | Speed up frequent data reads for AI Copilot queries |