Documentation
Technical documentation, API references, and implementation guides
Complete Technical Documentation
Download comprehensive documentation including detailed code examples, API specifications, database schemas, and deployment guides.
Technical Documentation
Complete developer guide and technical reference for the PizzaWorld Dashboard system.
System Architecture
PizzaWorld is a full-stack business intelligence dashboard with microservices architecture:
- Backend: Spring Boot REST API with 90+ endpoints
- Frontend: Angular SPA with TypeScript
- AI Layer: Google Gemma integration with knowledge base
- Security: JWT authentication with role-based access
- Database: Supabase PostgreSQL with 15+ materialized views
- Analytics: Advanced store, customer, and product analytics
- Export System: Comprehensive CSV export for all data views
- Email Support: Background email processing system
System Requirements
- Java: Java 17 or higher (OpenJDK or Oracle JDK)
- Node.js: Node.js 18 or higher with npm 9+
- Browser: Modern web browser (Chrome, Firefox, Safari, Edge)
- Operating System: Windows 10+, macOS 10.15+, or Linux
- Database: No PostgreSQL installation required (uses Supabase cloud)
- Memory: Minimum 4GB RAM recommended for development
🔒 Security Note
Always use the provided start scripts (start.bat
/ start.sh
). Direct execution will fail due to missing environment variables for security.
Technology Stack
API Reference
Backend Package Structure
src/main/java/pizzaworld/
├── controller/ # REST API Controllers
│ ├── AuthController.java
│ ├── OptimizedPizzaController.java
│ ├── AIController.java
│ └── SupportController.java
├── service/ # Business Logic Layer
│ ├── OptimizedPizzaService.java
│ ├── AIService.java
│ ├── GemmaAIService.java
│ └── EmailService.java
├── repository/ # Data Access Layer
│ ├── OptimizedPizzaRepo.java
│ └── UserRepo.java
├── model/ # Entity Classes
│ ├── User.java
│ ├── ChatMessage.java
│ └── AIInsight.java
├── security/ # Security Components
│ ├── JwtAuthFilter.java
│ └── SecurityConfig.java
└── config/ # Configuration Classes
├── CorsConfig.java
└── EmailConfig.java
Core API Endpoints
Authentication
Dashboard & Analytics
Store Analytics
Product Analytics
Customer Analytics
AI Assistant
Data Export
Security & Authentication
Security Implementation
- JWT Authentication: Stateless token-based authentication with 24-hour expiration
- Role-based Access Control: HQ_ADMIN, STATE_MANAGER, STORE_MANAGER permissions
- BCrypt Password Hashing: Secure credential storage with salt rounds
- Spring Security 6: Comprehensive security framework with CSRF protection
- CORS Configuration: Cross-origin resource sharing for frontend integration
- Environment Variables: No hardcoded credentials in source code
Authentication Flow
- User submits credentials to
/api/login
endpoint - Server validates credentials against BCrypt hash in database
- JWT token generated with user role and permissions embedded
- Token returned to client with 24-hour expiration time
- Client includes token in Authorization header for subsequent requests
- JwtAuthFilter validates token signature and expiration on each request
- Security context set with user details and role-based permissions
Database Architecture
Database Optimization
- Materialized Views: 15+ pre-computed views for sub-100ms response times
- Role-based Data Access: Automatic filtering by user permissions
- Connection Pooling: HikariCP with 30 max connections and optimized timeouts
- Query Optimization: Native SQL with strategic indexing
- Supabase Integration: Cloud PostgreSQL with SSL/TLS encryption
- Performance Monitoring: Query execution time tracking and optimization
Key Materialized Views
Deployment & Performance
Performance Achievements
Deployment Configuration
- Docker Containerization: Eclipse Temurin JDK 17 with optimized layers
- JVM Optimization: G1GC with 2GB heap allocation and performance tuning
- Cloud Deployment: Render.com with auto-scaling and load balancing
- Environment Management: Secure configuration with encrypted environment variables
- CI/CD Pipeline: Automated build, test, and deployment workflow
- Monitoring: Application performance monitoring and error tracking
Demo Data & Testing
Comprehensive Demo Dataset
The application includes extensive demo data for testing and demonstration purposes:
- Realistic Business Scenarios: Authentic order patterns and seasonal variations
- Performance Metrics: Pre-calculated analytics for immediate testing
- Role-Based Data: Different data access levels for each user role
- Historical Trends: Multi-year data for trend analysis and forecasting
- Geographic Distribution: Store performance across multiple states
AI Integration & Features
Google Gemma AI Capabilities
- Real-time Streaming: Server-Sent Events for token-by-token response delivery
- Business Context Integration: AI responses include live business data and metrics
- Role-based Responses: Tailored answers based on user permissions and access level
- Knowledge Base Integration: Contextual responses using business documentation
- Non-persistent Sessions: Conversation history limited to last 20 messages
- Intelligent Fallbacks: Rule-based responses when AI service unavailable
Frontend Architecture
Platform Demonstration
Complete PizzaWorld+ Demo
Watch our comprehensive demonstration showcasing all platform features, real-time analytics, dashboard functionality, and business intelligence capabilities.
Technical Demonstrations
Email Service Demo
Watch our live demonstration of the email service functionality, showing SMTP integration, automated notifications, and support ticket management in action.
Complete Technical Documentation
Download comprehensive documentation including detailed code examples, API specifications, database schemas, and deployment guides.