Skip to content
ngxtmPublic

About

AI-powered food and drink discovery platform with conversational search. Find restaurants and cafes based on your mood and preferences using natural language queries. Features include user reviews with photos, location-based discovery, restaurant profiles, and an admin dashboard.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

MapVibe

MapVibe

AI-powered food and drink discovery platform
Find your perfect spot based on mood, preferences, and real reviews.

Features • Demo • Tech Stack • Getting Started • Deployment

Status License Bun TypeScript Turborepo

Demo

MapVibe Demo Video

Click to watch the demo video


MapVibe Application Screenshot

Overview

MapVibe is a high-performance web application engineered for scalability and developer experience. Built as a monorepo using TurboRepo and Bun, it seamlessly integrates a modern React frontend with a robust serverless backend on AWS.

Whether you're looking for a solid foundation for your next SaaS or exploring modern full-stack patterns, MapVibe provides a production-ready architecture with type safety, shared UI components, and infrastructure-as-code.

Architecture

MapVibe Architecture Diagram

SRS

Features

  • High Performance: Powered by Bun and Vite for lightning-fast builds and HMR.
  • Monorepo Architecture: Efficiently managed with TurboRepo, sharing code between apps and packages.
  • AWS Native: Serverless infrastructure designed for AWS (Lambda, API Gateway, RDS).
  • End-to-End Type Safety: Written in TypeScript with shared type definitions across frontend and backend.
  • Modern UI: Built with React 19, TailwindCSS, and a custom shared component library.
  • Type-Safe Database: PostgreSQL interaction using Kysely for type-safe SQL queries.
  • Developer Experience: Pre-configured ESLint, Prettier, and Husky for consistent code quality.

Tech Stack

Category Technology Description
Monorepo TurboRepo High-performance build system for JavaScript/TypeScript
Runtime Bun All-in-one toolkit for JavaScript apps
Language TypeScript Strongly typed programming language
Frontend React 19 The library for web and native user interfaces
Styling TailwindCSS Utility-first CSS framework
Backend Node.js / AWS Lambda Serverless compute
Database PostgreSQL & Kysely SQL database with type-safe query builder
Icons Lucide React Beautiful & consistent icons
Infrastructure Terraform / CDK Infrastructure as Code (IaC)

Project Structure

mapvibe/
├── apps/
│   ├── web/             # Main frontend application (React + Vite)
│   ├── admin/           # Admin dashboard application
│   └── api/             # Backend API service (Serverless functions)
├── packages/
│   ├── ui-components/   # Shared React UI component library
│   ├── types/           # Shared TypeScript definitions (DTOs, DB models)
│   ├── utils/           # Shared utility functions
│   └── eslint-config/   # Shared linting configuration
├── infrastructure/      # Infrastructure as Code (AWS resource definitions)
└── ...

Getting Started

Follow these steps to set up your local development environment.

Prerequisites

  • Bun: >= 1.3.2 (Install Bun)
  • Node.js: >= 24.11.1
  • AWS CLI: Configured with valid credentials (for deployment)

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/mapvibe.git
    cd mapvibe
  2. Install dependencies:

    bun install
  3. Environment Setup:

    You must create .env files for the root, apps/web, apps/admin, and apps/api directories.

    Example .env content is often found in .env.example files within each directory.

    Note: For access to the correct environment variables, please contact the maintainer (see Contact).

Development

Start the development servers for all applications:

bun run dev

This command uses TurboRepo to launch all apps in parallel.

Other Commands

Command Description
bun run build Build all packages/apps
bun run lint Lint code
bun run test Run tests
bun run type-check Type check
bun run clean Clean artifacts

Deployment

MapVibe includes scripts for deploying to AWS. Ensure you have the necessary AWS permissions.

Command Description
bun run deploy:infra Deploy Infrastructure
bun run deploy:web Deploy Web App
bun run deploy:api Deploy API
bun run deploy:migrate Run Database Migrations

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

For environment variables or inquiries, please reach out:

About

AI-powered food and drink discovery platform with conversational search. Find restaurants and cafes based on your mood and preferences using natural language queries. Features include user reviews with photos, location-based discovery, restaurant profiles, and an admin dashboard.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Contributors

Languages