Full-Stack AI-Powered Travel Platform — plan trips with AI, connect with other travelers, and let providers manage their venues and bookings.
Waynest is a travel platform that brings three worlds together in one product:
| 🧳 Travelers | 🏪 Providers | 🛡️ Admins |
|---|---|---|
| AI-generated trip itineraries & recommendations | Manage venues, events & bookings | Moderate content & monitor the platform |
| Social feed, stories, chat with other travelers | Dashboard with analytics & credits | Configure AI, billing & settings |
| Book venues & events, push notifications | Earn credits via subscriptions | Full audit & reporting |
In one line: AI plans the trip, social features make it human, and credits make it a business.
- 🤖 Resilient AI chain — 5-tier provider fallback (Groq → OpenRouter → Gemini → HuggingFace → rule-based) so trip planning basically never fails.
- 💬 Real-time social layer — chat, stories, posts and notifications over WebSockets, horizontally scalable with Redis Pub/Sub.
- 🪙 Credit-based billing — virtual wallet + Stripe subscriptions; every premium feature deducts credits automatically.
- 🌍 15 languages with full RTL support (Arabic, Hebrew, Urdu) — even backend error messages are localized.
- 📴 Offline-first PWA — trips stay available with no connection via IndexedDB + Service Worker.
- 🔒 Security by default — JWT in httpOnly cookies, CSRF protection, rate limiting, Helmet headers, content moderation.
Prerequisites: Node.js ≥ 18 · PostgreSQL 16 (or Neon connection string) · Redis (optional — auto-falls back to in-memory)
git clone <your-repo-url> waynest
cd waynestBackend (waynest-be/):
cd waynest-be
npm install
cp .env.example .env # fill in POSTGRES / JWT / AI keys
npm run start:dev
# API → http://localhost:3001 | Swagger → http://localhost:3001/api/docsFrontend (waynest-FE/):
cd waynest-FE
npm install
cp .env.example .env
npm run dev
# App → http://localhost:5173Set VITE_API_URL=http://localhost:3001 in the frontend .env and FRONTEND_URL in the backend .env, and you're running the full stack.
waynest/
├── waynest-be/ # NestJS API — 33 modules, 52 entities, 36 migrations
│ ├── src/ # Controllers, services, entities, DTOs, guards
│ ├── db/ # Migrations & seeders
│ └── api/ # Serverless entry point for Vercel
├── waynest-FE/ # React 18 + Vite + Ant Design SPA (PWA)
│ └── src/ # Pages, components, store, i18n bundles, socket
├── scripts/ # DevOps & automation utilities
├── qa-reports/ # Security / UX / QA audit findings & roadmaps
└── docs / DEPLOY.md # Architecture and deployment guides
| Concern | Tech |
|---|---|
| Runtime / Framework | Node.js · NestJS 11 · TypeScript 5.7 |
| Database / ORM | PostgreSQL 16 (Neon) · TypeORM 0.3 · PostGIS |
| Cache / Jobs | Redis · BullMQ · custom HotPathCache |
| Auth | Passport + JWT (httpOnly cookies + Bearer) |
| Real-time | Socket.IO with Redis adapter |
| AI | Gemini, Groq, OpenRouter, HuggingFace + fallback chain |
| Payments | Stripe 22 |
| Extras | Notifications (Web Push), Email (Nodemailer), Swagger, Throttler, Helmet |
| Concern | Tech |
|---|---|
| Framework | React 18 + Vite · TypeScript |
| UI / State | Ant Design 6 · React Query 5 · React Router 6 |
| Real-time / i18n | Socket.IO client · i18next (15 languages, RTL) |
| PWA / Offline | vite-plugin-pwa · IndexedDB (idb) |
| Extras | Leaflet maps, Recharts, FingerprintJS |
Backend:
npm run start:dev # dev server (hot reload)
npm run build # production build
npm run start:prod # run production build
npm run test # Jest tests
npm run migration:run # apply DB migrations
npm run migration:show # list pending/applied migrationsFrontend:
npm run dev # dev server
npm run build # production build
npm run preview # preview production build
npm run lint # eslintMinimal set to get going — full list in each app's .env.example:
| Variable | App | Purpose |
|---|---|---|
DATABASE_URL / DB_* |
BE | PostgreSQL connection |
JWT_SECRET |
BE | Token signing |
GROQ_API_KEY (or any AI key) |
BE | Trip-planning AI |
STRIPE_SECRET_KEY |
BE | Payments |
REDIS_URL |
BE | Optional, caching/queues |
VITE_API_URL |
FE | Points the app at the backend |
- Vercel — backend as serverless functions, frontend as static SPA (see
vercel.json). - Linux server — systemd services + Nginx + SSL, deployed atomically via GitHub Actions on push to
main.
CI/CD runs health checks after every deployment. Details in DEPLOY.md.
FEATURES.md— full feature catalog & API endpointsTECH_STACK.md— deep-dive architecture notesPROJECT_MAP.md— system flow diagramsDEPLOY.md— deployment & Nginx guideqa-reports/— security, UX and QA audit reports
Built with architectural intent. Designed for scale.