Convera is a modern, premium full-stack platform that seamlessly integrates stay bookings, local events, administrative dashboards, and a mock-paywalled AI Concierge service. It is designed to be shipped easily via Docker containerization for local execution, demoing, and client evaluation.
The application is structured as a unified multi-service stack composed of:
- Frontend: Next.js (React) application serving the client interface at
http://localhost:3001. - Backend: NestJS API server serving the endpoints at
http://localhost:3000. - Database: MySQL (v8.0) database service containerized and mapped on host port
3307. - Cache: Redis (v7) key-value store containerized and mapped on host port
6380. - Database Client: Prisma ORM for schema sync and migrations.
To spin up the entire application stack in containers:
- Docker Desktop installed and running.
- Clone this repository.
- Navigate to the repository root directory.
- Run the docker-compose orchestrator:
docker compose up -d --build
- Open
http://localhost:3001in your browser to access the frontend client. - Open
http://localhost:3000in your browser to access the backend API (or check health metrics).
The database is pre-seeded with rich, realistic mock data for testing. You can use these credentials to sign in and test the different workflows:
| Role | Password | Details | |
|---|---|---|---|
| System Admin | admin@convera.com |
Admin@1234! |
Manage all users, stays, categories, and audit logs. |
| Host 1 | host_john@convera.com |
Host@1234! |
Owns the Nile luxury Zamalek apartment & Stanley Seaside flat. |
| Host 2 | host_maria@convera.com |
Host@1234! |
Owns the Pyramids View Villa & beachfront bungalow. |
| Customer 1 | customer_alex@convera.com |
Customer@1234! |
Has active booking in Zamalek stay. |
| Customer 2 | customer_sarah@convera.com |
Customer@1234! |
Has completed stays, wrote reviews, and has event registration. |
| Customer 3 | customer_youssef@convera.com |
Customer@1234! |
Registered for the Cairo Jazz Festival. |
- Accommodation Booking: Search and filter premium properties across Egypt (Cairo, Giza, Dahab, Stanley Alexandria).
- Local Events: Register and purchase tickets for upcoming concerts, tech summits, exhibitions, and retreats.
- User Reviews: Authentic client reviews with star ratings and comments.
- Metrics & Insights: Full dashboard with system stats, user signups, total bookings, active properties, and revenue stats.
- Search & Filters: Case-insensitive search on events, users, and properties (fully optimized for MySQL indexes).
- Audit logs & User Controls: Toggle user active states, verify accounts, and track system activities.
- Premium Upgrade Modal: Glassmorphic paywall demonstrating the $5.00/mo subscription upgrade.
- Mock Credit Card Checkout: Form validator with auto-spacing for card numbers and expiration dates.
- Instant Activation: Interactive caching status toggles across components instantly to unlock AI Search functionalities.
- Reset Testing Badge: Clickable
Premiumbadge in the AI search header to easily reset status and test the paywall/checkout flow multiple times.
If you prefer to run services manually for local development:
Use Docker Compose to run only the databases:
docker compose up -d mysql redis- Navigate to
ConveraProjectBackend. - Install dependencies:
npm install. - Configure your environment
.envfile based on.env.example. - Sync database schema and seed mock data:
npx prisma db push --accept-data-loss npx prisma db seed
- Start backend:
npm run devornpm run start:dev.
- Navigate to
ConveraFrontend. - Install dependencies:
npm install --legacy-peer-deps. - Configure your local env.
- Start Next.js app:
npm run dev.