mirai2k / booking-app

This booking app is a simple demonstration of a room booking system, showcasing key technologies and patterns in software development.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Booking App

Introduction

This booking app is a simple demonstration of a room booking system, showcasing key technologies and patterns in software development.

Technology Stack

  • Node.js (LTS version 20.11.0)
  • NestJS
  • PostgreSQL
  • Prisma (ORM)
  • Redis (Caching)
  • RabbitMQ (Message Queue)
  • Swagger (Documentation)
  • pnpm (Package Manager)

Getting Started

Install dependencies:

pnpm install

Start the app with Docker Compose:

pnpm run docker:up

Stop the app:

pnpm run docker:down

Database Migrations

Run migrations:

pnpm run db:migrate

Seed the database (optional):

pnpm run db:seed

Reset the database and migrate (optional):

pnpm run db:migrate:reset

Accessing Documentation

📝 Swagger API: documentation is available at http://localhost:3000/api.

📝 Postman Collection: collection for API testing is available at http://localhost:3000/api-json.

Architecture Highlights:

  • Caching Strategy: Redis caching is used for room availability checks.
  • Message Queue: RabbitMQ handles asynchronous tasks like email notifications.
  • Database Design: Efficient management of bookings and tracking room availability.

About

This booking app is a simple demonstration of a room booking system, showcasing key technologies and patterns in software development.


Languages

Language:TypeScript 98.7%Language:JavaScript 1.3%