A comprehensive tattoo studio management system built with NestJS, Prisma, and PostgreSQL.
- 👤 Client Profile Management
- 📅 Appointment Scheduling
- ⏰ Working Hours Management
- 💰 Payment Integration (PIX)
- 🔐 Role-based Access Control
- 📊 Admin Dashboard
The application has two main user flows:
- Framework: NestJS
- Database: PostgreSQL
- ORM: Prisma
- Authentication: JWT
- Documentation: OpenAPI/Swagger
- Validation: class-validator
- Date Handling: date-fns
- Node.js (v18 or higher)
- PostgreSQL
- pnpm (v8 or higher)
- Docker (optional)
- Install dependencies:
pnpm install- Set up environment variables:
cp api/.env.example api/.env- Start the development servers:
pnpm startThis will:
- Generate Prisma client
- Generate OpenAPI specification
- Generate TypeScript API client
- Start both backend (port 3000) and frontend (port 3001) in parallel
.
├── api/ # NestJS backend
│ ├── src/
│ └── prisma/ # Database schema and migrations
├── web/ # React frontend
│ ├── src/
│ └── public/
└── package.json # Workspace configuration