Skip to content

Latest commit

 

History

449 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Waynest

Full-Stack AI-Powered Travel Platform — plan trips with AI, connect with other travelers, and let providers manage their venues and bookings.

TypeScript NestJS React PostgreSQL Redis PWA


What is Waynest?

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.


Why it stands out

  • 🤖 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.

Quick Start

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 waynest

Backend (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/docs

Frontend (waynest-FE/):

cd waynest-FE
npm install
cp .env.example .env
npm run dev
# App → http://localhost:5173

Set VITE_API_URL=http://localhost:3001 in the frontend .env and FRONTEND_URL in the backend .env, and you're running the full stack.


Project Structure

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

Tech Stack

Backend — waynest-be/

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

Frontend — waynest-FE/

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

Common Commands

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 migrations

Frontend:

npm run dev              # dev server
npm run build            # production build
npm run preview          # preview production build
npm run lint             # eslint

Environment Variables

Minimal 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

Deployment

  • 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.


Related Docs

  • FEATURES.md — full feature catalog & API endpoints
  • TECH_STACK.md — deep-dive architecture notes
  • PROJECT_MAP.md — system flow diagrams
  • DEPLOY.md — deployment & Nginx guide
  • qa-reports/ — security, UX and QA audit reports

Built with architectural intent. Designed for scale.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages