Skip to content
/ mapvibe Public

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.

License

Notifications You must be signed in to change notification settings

4N1D/mapvibe

Repository files navigation

MapVibe

MapVibe

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

FeaturesDemoTech StackGetting StartedDeployment

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.

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

License

Stars

Watchers

Forks

Contributors 5