Skip to content

A comprehensive tattoo studio management system built with NextJS, Prisma, and PostgreSQL.

Notifications You must be signed in to change notification settings

PierreAndreis/easytattoo

Repository files navigation

EasyTattoo API

A comprehensive tattoo studio management system built with NestJS, Prisma, and PostgreSQL.

Features

  • 👤 Client Profile Management
  • 📅 Appointment Scheduling
  • ⏰ Working Hours Management
  • 💰 Payment Integration (PIX)
  • 🔐 Role-based Access Control
  • 📊 Admin Dashboard

User Flows

The application has two main user flows:

Tech Stack

  • Framework: NestJS
  • Database: PostgreSQL
  • ORM: Prisma
  • Authentication: JWT
  • Documentation: OpenAPI/Swagger
  • Validation: class-validator
  • Date Handling: date-fns

Prerequisites

  • Node.js (v18 or higher)
  • PostgreSQL
  • pnpm (v8 or higher)
  • Docker (optional)

Development Setup

  1. Install dependencies:
pnpm install
  1. Set up environment variables:
cp api/.env.example api/.env
  1. Start the development servers:
pnpm start

This will:

  • Generate Prisma client
  • Generate OpenAPI specification
  • Generate TypeScript API client
  • Start both backend (port 3000) and frontend (port 3001) in parallel

Project Structure

.
├── api/                # NestJS backend
│   ├── src/
│   └── prisma/        # Database schema and migrations
├── web/               # React frontend
│   ├── src/
│   └── public/
└── package.json       # Workspace configuration

About

A comprehensive tattoo studio management system built with NextJS, Prisma, and PostgreSQL.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages