grÜppe projekt dotcom
HOMEPROJEKTSSERVICESABOUTKONTAKT
SYSTEM ACCEPTING PROJECTS

GRÜPPE
PROJEKT
DOTCOM

Building the infrastructure of tomorrow's web

NAVIGATION

  • Home
  • Projekts
  • Services
  • About
  • Kontakt

KONTAKT

  • nick@gruppeprojekt.com
  • Abita Springs ,LA

© 2026 GRÜPPE PROJEKT DOTCOM. ALL RIGHTS RESERVED.

ADMIN
← RETURN_TO_OVERVIEW
REL_DOC: PSUDZ_ARCH_V1.0.0
ARCHITECTURAL_WHITEPAPER

PSUDZ ARCHITECTURE

A comprehensive technical analysis of the PSUDZ Grooming Salon Management System: API-driven monolith architecture, Pet-First verification flow, relational data model, and the modular structure that powers high-volume salon operations.

SECTION_01

CORE PHILOSOPHY

The architecture of PSUDZ is the result of deliberate design principles that guide technology choices, feature implementation, and user experience. These tenets ensure a coherent, robust, and domain-appropriate system.

PRINCIPLE_01

Pet-First User Experience

Industry innovation: password-less booking and verification. Unlike traditional applications that force account creation, PSUDZ prioritizes seamless access for returning customers.

INPUT: pet_name + phone_last_4
OUTPUT: authenticated_session
PRINCIPLE_02

API-Driven Monolith

Cohesive Next.js application serving both frontend UI and comprehensive backend RESTful API from a single, unified codebase. Deliberately chosen over microservices to reduce operational complexity.

FRONTEND: React + Next.js App Router
BACKEND: API Routes (same codebase)
PRINCIPLE_03

Type-Safe, Data-Centric

TypeScript across the entire stack. Prisma ORM provides type-safe data access layer. Database schema is the single source of truth—auto-generated types for all models.

SCHEMA: prisma/schema.prisma
TYPES: Auto-generated from schema
PRINCIPLE_04

Component-Based Frontend

Reusable React components with clear hierarchy. Atomic UI elements in components/, page-level compositions in views/. Modular approach accelerates development.

src/components/ → Atomic UI elements
src/views/ → Page compositions
SECTION_02

TECHNOLOGY STACK

A deliberate selection of modern, production-proven tools chosen to maximize developer productivity, application performance, and long-term maintainability.

CORE_TECHNOLOGIES
FRAMEWORKNEXT.JS 16 (APP ROUTER)
LANGUAGETYPESCRIPT ^5
DATABASESQLITE
ORMPRISMA 5.22.0
STYLINGTAILWIND CSS
AUTHNEXTAUTH.JS ^4.24
SECURITYBCRYPTJS
NEXT.JS_RATIONALE

Full-stack foundation handling server-side rendering for the frontend and API route handling for the backend. High-performance, server-rendered public booking page enables instant Pet-First experience.

SQLITE_RATIONALE

File-based, serverless database ideal for streamlined development and zero-configuration deployment. Entire database in a single file. Prisma provides the type-safe ORM abstraction layer.

SECTION_03

PROJECT STRUCTURE

A well-organized codebase critical for scalability, maintainability, and team collaboration. Clear separation between frontend, backend API, and data persistence layers.

FRONTEND_LAYER

src/app/

book/ — Public booking page

dashboard/ — Authenticated admin

login/ — Employee authentication

(authenticated)/ — Route group

loading.tsx — Loading states

not-found.tsx — 404 handling

API_LAYER

src/app/api/

appointments/ — Scheduling

clients/ — CRM operations

pets/ — Pet profiles

tickets/ — POS transactions

public/ — Unauthenticated

reports/ — Analytics

COMPONENT_LAYER

src/

views/ — Page compositions

components/ — Reusable UI

hooks/ — Custom React hooks

lib/ — Utilities, Prisma

types/ — TypeScript definitions

COMPLETE_API_ROUTES
activity-log/
appointments/
auth/
calendar/
clients/
dashboard/
employees/
notifications/
pets/
public/
reports/
schedules/
services/
settings/
ticket-items/
tickets/
tips/
SECTION_04

DATABASE SCHEMA

The structural backbone defined in prisma/schema.prisma. Dictates data shape, entity relationships, and constraints ensuring data integrity. Cascading deletes maintain referential integrity across dependent records.

CLIENT

Core customer entity. firstName, lastName, contact details. Financial: balance, firstVisit, lastVisit.

HAS_MANY: Pet, Appointment, Ticket
PET

Detailed animal records. Behavioral flags: biter, shy, aggressive. groomNotes, medicalNotes, vaccinations.

BELONGS_TO: Client | KEY_ENTITY
EMPLOYEE

Staff management and auth. role, commissionRate, active status. Password hashed with bcryptjs.

ROLES: Groomer, Bather, Reception
APPOINTMENT

Central scheduling entity. Links Client, Pet, Employee to date/time. Status lifecycle tracking.

RECURRING: isRecurring, recurringType, parentId
TICKET

POS transaction/invoice. Linked to Client and optional Appointment. Financial: subtotal, tax, discount, total.

HAS_MANY: TicketItem, Tip
SERVICE

Grooming service catalog. name, price, duration. Populates POS system and scheduling calculations.

USED_BY: TicketItem, Appointment
SUPPORTING_ENTITIES
TicketItem

Line-item detail. Links Service + Pet for granular reporting.

Tip

Tips on Ticket linked to receiving Employee.

Coupon

Promotional codes with discount values and usage limits.

ActivityLog

Comprehensive audit trail for security and accountability.

Settings

Key-value store for system config, branding, booking rules.

Webhook

External integration endpoints for system events.

Notification

In-app alerts for bookings, cancellations, system events.

SECTION_05

INDEXING STRATEGY

Deliberate database indexing ensures the application remains responsive under high data volume. Strategic @@index(...) declarations accelerate common query patterns.

CLIENT_INDEXES
@@index([lastName, firstName])

Fast name searches in CRM

@@index([phone])

Rapid lookups for Pet-First verification

APPOINTMENT_INDEXES
@@index([scheduledDate])

Calendar day/week/month queries

@@index([status])

Dashboard filtering by appointment state

@@index([clientId])

Client history lookups

SECTION_06

PET-FIRST VERIFICATION

The technical implementation of the password-less booking innovation. Public API endpoints power the frictionless client experience.

FUZZY_MATCHING_ALGORITHM
1.
EXACT_MATCH

pet_name === input (case-insensitive)

2.
STARTS_WITH

pet_name.startsWith(input)

3.
CONTAINS

pet_name.includes(input)

PUBLIC_API_ENDPOINTS
/api/public/search-pets/

Fuzzy search against Pet + Client models

/api/public/lookup/

Direct pet verification by phone

/api/public/book/

POST — Create new Appointment

/api/public/cancel/

Enforces 24-hour cancellation rule

VERIFICATION_FLOW
CLIENT_INPUT

pet_name + phone_last_4

→
FUZZY_SEARCH

/api/public/search-pets/

→
PET_FOUND?

Match against indexed DB

→
UNIFIED_UI

Book or Cancel

SECTION_07

CALENDAR ENGINE

The central hub for salon operations. Multiple views, real-time data aggregation, and external calendar synchronization via iCal subscription.

DATA_AGGREGATION

/api/calendar/route.ts

Single powerful endpoint fetches all relevant events within a date range. Performs two parallel queries: Appointment records AND standalone Ticket records (walk-ins, historical data).

QUERY_1: Appointments in range
QUERY_2: Tickets without appointments
iCAL_SUBSCRIPTION

/api/calendar/feed/key/

Staff can sync salon schedule with external calendar apps (Google Calendar, Apple Calendar). Dynamically generates standard .ics file from Appointment data.

PROTOCOL: webcal://
FORMAT: .ics (iCalendar)
SECTION_08

ROUTE PROTECTION

Clear distinction between public and authenticated APIs. Middleware intercepts requests for page routes while API security is delegated to route handlers.

PUBLIC_ROUTES

/api/public/*

No authentication required. Powers Pet-First booking flow. Endpoints: search-pets, lookup, book, cancel.

MIDDLEWARE_LAYER

src/middleware.ts

NextAuth.js intercepts requests. Protects page routes like /dashboard. Delegates API security to handlers.

PROTECTED_ROUTES

/api/admin/*

Authentication required. All administrative endpoints. Session validation at route handler level.

SECTION_09

DATA MIGRATION

Complex data migration from legacy .txt database export. The import_data.ts script demonstrates capability to handle real-world modernization challenges.

Careful analysis of old data structure, mapping to new schema, and flawless execution to preserve business continuity. Years of critical client and financial data safely transitioned.

MIGRATION_PROCESS
1.
ANALYZE

Parse legacy .txt export structure

2.
MAP

Define field-to-model correspondence

3.
TRANSFORM

Convert data types, normalize values

4.
IMPORT

Execute import_data.ts script

5.
VALIDATE

Verify data integrity post-migration

PRODUCTION_READY

ENGINEERED FOR
HIGH-VOLUME SALONS.

PSUDZ is a complete, production-ready salon management system. Pet-First verification, comprehensive operational modules, and modern architecture ready for deployment.

REQUEST DEMO← BACK TO OVERVIEW
← RETURN_TO_OVERVIEW
PSUDZ_ARCH_V1.0.0 | CLASSIFICATION: PUBLIC | STATUS: PRODUCTION