Skip to content

ARabee3/Convera

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌟 Convera: Unified Stay Booking, Events, & AI Concierge Platform

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.


🏗️ Architecture Overview

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.

⚡ Quick Start (Docker Orchestration)

To spin up the entire application stack in containers:

Prerequisites

Launching the Stack

  1. Clone this repository.
  2. Navigate to the repository root directory.
  3. Run the docker-compose orchestrator:
    docker compose up -d --build
  4. Open http://localhost:3001 in your browser to access the frontend client.
  5. Open http://localhost:3000 in your browser to access the backend API (or check health metrics).

🔑 Demo & Test Credentials

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

💎 Features

🏨 Stays & Event Registrations

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

🛡️ Admin Management Dashboard

  • 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 AI Concierge (Mock Paywall Flow)

  • 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 Premium badge in the AI search header to easily reset status and test the paywall/checkout flow multiple times.

🛠️ Local Development (Outside Docker)

If you prefer to run services manually for local development:

1. Redis and MySQL

Use Docker Compose to run only the databases:

docker compose up -d mysql redis

2. Backend Service

  1. Navigate to ConveraProjectBackend.
  2. Install dependencies: npm install.
  3. Configure your environment .env file based on .env.example.
  4. Sync database schema and seed mock data:
    npx prisma db push --accept-data-loss
    npx prisma db seed
  5. Start backend: npm run dev or npm run start:dev.

3. Frontend Service

  1. Navigate to ConveraFrontend.
  2. Install dependencies: npm install --legacy-peer-deps.
  3. Configure your local env.
  4. Start Next.js app: npm run dev.

About

Unified Stay Booking, Events, & Premium AI Concierge Platform orchestrated via Docker Compose

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages