📚 THINCADMIN ERP CODEBASE INDEX
System Architecture Overview and Source Code Structure
🏗️ Overall Architecture
1.1. Technology Stack
- Frontend: Next.js + React + TypeScript
 - Documentation: Nextra (Next.js-based documentation framework)
 - Authentication: Firebase Authentication
 - Database: Firebase Firestore (NoSQL)
 - Deployment: Vercel/Cloud hosting
 - Styling: CSS Modules + Material-UI components
 
1.2. Directory Structure
SOC-DOCS/
├── components/           # Reusable React components
├── pages/               # Nextra documentation pages
│   ├── VN/             # Vietnamese documentation
│   └── *.mdx           # English documentation
├── public/              # Static assets
├── theme.config.tsx     # Nextra theme configuration
└── package.json         # Dependencies & scripts📁 Module Details
2.1. Components (/components/)
counters.tsx- Statistics display componentcounters.module.css- Styling for counters component
2.2. Pages (/pages/)
English
index.mdx- Introduction homepageoverview.mdx- System overviewbenefits.mdx- System benefitsguide.mdx- Usage guidesignup.mdx- Registration and onboardingworkflow.mdx- Workflow processadvanced.mdx- Advanced featuresspa-onboarding.mdx- Spa ERP + IoT onboarding
Vietnamese (/pages/VN/)
index.mdx- Vietnamese homepageoverview.mdx- System overviewbenefits.mdx- System benefitsguide.mdx- Usage guidesignup.mdx- Registration and onboardingworkflow.mdx- Workflow processadvanced.mdx- Advanced featuresspa-onboarding.mdx- Spa ERP + IoT onboarding
2.3. Configuration Files
theme.config.tsx- Nextra theme configurationnext.config.js- Next.js configurationtsconfig.json- TypeScript configurationpackage.json- Dependencies and scripts
🔧 System Features
3.1. Authentication & Authorization
- Firebase Authentication - User authentication
 - Role-based Access Control - Role-based permissions
 - Token Management - Authentication token management
 
3.2. Core Modules
- Dashboard - Overview dashboard
 - User Management - User management
 - Inventory Management - Inventory management
 - Appointment Scheduling - Appointment scheduling
 - POS System - Point of sale system
 - Reporting - Reports and statistics
 
3.3. IoT Integration
- MQTT Protocol - IoT connection protocol
 - REST API - Third-party integration API
 - Real-time Data Sync - Real-time data synchronization
 
🚀 Deployment & Hosting
4.1. Production Environment
- Domain: erp.thinctech.org
 - Documentation: docs.soc.thinctech.org
 - CDN: Vercel Edge Network
 - SSL: Automatic HTTPS
 
4.2. Development Environment
- Local Development: 
pnpm dev - Build Process: 
pnpm build - Static Export: Nextra static generation
 
📊 Database Schema (Firebase Firestore)
5.1. Collections
// Users Collection
users: {
  uid: {
    email: string,
    role: 'admin' | 'manager' | 'front-desk' | 'therapist',
    displayName: string,
    createdAt: timestamp,
    lastLogin: timestamp
  }
}
 
// Appointments Collection
appointments: {
  appointmentId: {
    customerId: string,
    therapistId: string,
    serviceId: string,
    roomId: string,
    startTime: timestamp,
    endTime: timestamp,
    status: 'scheduled' | 'in-progress' | 'completed' | 'cancelled',
    paymentStatus: 'pending' | 'paid' | 'refunded'
  }
}
 
// Services Collection
services: {
  serviceId: {
    name: string,
    description: string,
    duration: number, // minutes
    price: number,
    category: string,
    isActive: boolean
  }
}
 
// Inventory Collection
inventory: {
  productId: {
    name: string,
    description: string,
    category: string,
    quantity: number,
    minQuantity: number,
    price: number,
    supplier: string,
    lastUpdated: timestamp
  }
}🔌 API Endpoints
6.1. Authentication
POST /api/auth/login- User loginPOST /api/auth/logout- User logoutPOST /api/auth/register- User registrationGET /api/auth/user- Get user information
6.2. Appointments
GET /api/appointments- Get appointment listPOST /api/appointments- Create new appointmentPUT /api/appointments/:id- Update appointmentDELETE /api/appointments/:id- Delete appointment
6.3. Inventory
GET /api/inventory- Get product listPOST /api/inventory- Add new productPUT /api/inventory/:id- Update productDELETE /api/inventory/:id- Delete product
6.4. IoT Integration
POST /api/iot/sensor-data- Receive sensor dataGET /api/iot/room-status- Get room statusPOST /api/iot/control-device- Control IoT devices
🛡️ Security Features
7.1. Authentication Security
- JWT Tokens - JSON Web Tokens for session management
 - Refresh Tokens - Auto-refresh authentication
 - Password Hashing - bcrypt encryption
 - Rate Limiting - Prevent brute force attacks
 
7.2. Data Security
- Firebase Security Rules - Database access control
 - CORS Configuration - Cross-origin resource sharing
 - Input Validation - Sanitize user inputs
 - SQL Injection Prevention - Parameterized queries
 
📈 Performance Optimization
8.1. Frontend Optimization
- Code Splitting - Lazy loading components
 - Image Optimization - Next.js image optimization
 - Caching Strategy - Browser and CDN caching
 - Bundle Analysis - Webpack bundle analyzer
 
8.2. Backend Optimization
- Database Indexing - Optimize Firestore queries
 - Connection Pooling - Efficient database connections
 - Caching Layer - Redis caching for frequently accessed data
 - CDN Integration - Global content delivery
 
🔄 Version Control & CI/CD
9.1. Git Workflow
- Main Branch - Production-ready code
 - Feature Branches - New feature development
 - Pull Requests - Code review process
 - Automated Testing - Unit and integration tests
 
9.2. Deployment Pipeline
- Development - Local development environment
 - Staging - Pre-production testing
 - Production - Live application deployment
 - Rollback Strategy - Quick deployment rollback
 
📞 Support & Maintenance
10.1. Monitoring
- Error Tracking - Sentry integration
 - Performance Monitoring - Vercel Analytics
 - Uptime Monitoring - Health check endpoints
 - Log Management - Centralized logging
 
10.2. Backup Strategy
- Database Backups - Daily automated backups
 - Code Repository - GitHub version control
 - Configuration Backups - Environment variables backup
 - Disaster Recovery - Multi-region deployment
 
ThincAdmin ERP is built with modern architecture ensuring stability, security, and scalability. This documentation provides an overview of the system structure and guidance for developers.