tdevelope/business-management

A business management system for independent service providers, featuring smart appointment scheduling, payments, and an organized admin calendar for efficient daily operations.

โ˜… 2Forks 0TypeScriptGitHub โ†—Compare

README

๐Ÿ—‚๏ธ Business Management System

A full-stack business management platform for independent service providers and small businesses.
Designed to streamline appointment scheduling, customer management, and daily operations through a centralized admin dashboard.

Status Type License


๐ŸŽฏ Overview

Business Management System is a production-oriented web application built for small, service-based businesses.

The system enables business owners to manage appointments, services, customers, availability, and waitlists from a single platform, with a strong focus on reliability, clear separation of roles, and prevention of scheduling conflicts.

This repository represents a commercial product under active development.


โœจ Key Features

๐Ÿงฉ Core

  • Intelligent appointment scheduling with conflict prevention
  • Service catalog management (pricing, duration, descriptions)
  • Customer management with contact details
  • Business availability configuration and blocked times
  • Waitlist mechanism for fully booked time slots
  • Email notifications for confirmations and updates

๐Ÿ› ๏ธ Admin

  • Centralized admin dashboard
  • Calendar-based appointment management
  • Manual appointment creation, update, and cancellation
  • Service and availability management
  • Basic operational reports and summaries

๐Ÿ‘ค Customer

  • Self-service appointment booking
  • View, reschedule, and cancel personal appointments
  • Join waitlists when no availability exists
  • Receive automated email notifications

โš™๏ธ Technical Highlights

  • JWT-based authentication and authorization
  • Background job processing for waitlist handling and notifications
  • Redis-backed Bull Queue for asynchronous tasks
  • Modular backend architecture
  • Type-safe communication across frontend and backend

๐Ÿ›  Tech Stack

Backend

  • NestJS
  • TypeScript
  • Prisma ORM
  • PostgreSQL
  • Bull Queue
  • Redis (used for background jobs)
  • JWT + Passport
  • Swagger (API documentation)

Frontend

  • Next.js
  • React
  • Zustand
  • React Hook Form
  • TanStack React Query
  • Tailwind CSS
  • Radix UI
  • Lucide Icons
  • date-fns

Infrastructure

  • Docker
  • Docker Compose

๐Ÿงฑ Project Structure

business-management/ โ”œโ”€โ”€ backend/ โ”‚ โ”œโ”€โ”€ src/modules/ โ”‚ โ”‚ โ”œโ”€โ”€ auth โ”‚ โ”‚ โ”œโ”€โ”€ users โ”‚ โ”‚ โ”œโ”€โ”€ services โ”‚ โ”‚ โ”œโ”€โ”€ appointments โ”‚ โ”‚ โ”œโ”€โ”€ waitlist โ”‚ โ”‚ โ””โ”€โ”€ notifications โ”‚ โ””โ”€โ”€ prisma/ โ”‚ โ”œโ”€โ”€ frontend/ โ”‚ โ”œโ”€โ”€ app/ โ”‚ โ”‚ โ”œโ”€โ”€ admin โ”‚ โ”‚ โ”œโ”€โ”€ customer โ”‚ โ”‚ โ””โ”€โ”€ auth โ”‚ โ””โ”€โ”€ src/ โ”‚ โ””โ”€โ”€ docker-compose.yml


๐Ÿš€ Running the Application

The system is designed to be run using Docker Compose.

docker-compose up -d

Access the application:


๐Ÿ“š API Documentation

Interactive API documentation is available via Swagger:

http://localhost:3001/api/docs

๐Ÿ—„๏ธ Database Overview

Main entities:

  • Users โ€“ customers and administrators
  • Services โ€“ service definitions
  • Appointments โ€“ scheduled bookings
  • BlockedTimes โ€“ unavailable periods
  • Waitlist โ€“ pending booking requests

๐Ÿ—๏ธ Architecture

Backend

  • Modular NestJS design
  • Controllers, services, DTOs, and guards
  • Clear separation of business logic and transport layer

Frontend

  • Component-driven architecture
  • Centralized API layer
  • Global state management with Zustand
  • Server state handled via React Query

๐Ÿ“„ License

UNLICENSED โ€“ Proprietary Software

All rights reserved.

Contributors

tdevelopedeveloperfsbaum

Issues