This document explains the organized structure of the Simple Menu project.
Note: For setup instructions, see DEPLOYMENT.md. For component details, see COMPONENTS.md.
- Purpose: Core application server with API endpoints and WebSocket support
- Technology: Node.js, Express, Prisma ORM, SQLite
- Key Files:
src/index.js- Main server entry pointprisma/schema.prisma- Database schemaassets/- Uploaded images and static filessrc/routes/- API endpoint definitionssrc/websocket/- Real-time WebSocket handlerssrc/services/- Business logic and data services
- Purpose: User interface and client-side application
- Technology: Angular 20, TypeScript, PrimeNG, TailwindCSS
- Key Files:
front/src/app/- Angular components and servicesfront/src/app/shared/- Shared components (AppImageComponent)front/nginx.conf- Production web server configurationfront/angular.json- Angular CLI configuration
- Purpose: Container orchestration and deployment files
- Files:
docker-compose.unified.yml- Complete application + monitoring stack (Recommended)
- Purpose: Configuration files for observability tools
- Subdirectories:
unified/- Complete monitoring stack configs (Prometheus + Grafana + ELK)simple/- Basic Prometheus + Grafana configselk-simple/- Basic ELK stack configsprometheus/- Prometheus-specific configurationsgrafana/- Grafana dashboards and provisioning
- Purpose: Deployment, monitoring, and maintenance scripts
- Subdirectories:
deployment/- Deploy scripts and Docker helpersmonitoring/- Monitoring and performance scriptslan-setup/- Network configuration scriptsdatabase/- Database management utilities
- Purpose: Comprehensive project documentation
- Files:
README.md- Main project overview (in root)DEPLOYMENT.md- Quick setup and deployment guideDEPLOYMENT_GUIDE.md- Advanced production deploymentAPI_REFERENCE.md- REST API and WebSocket documentationCOMPONENTS.md- Technical component and service detailsMONITORING_OPTIONS.md- Monitoring setup optionsMONITORING_SIMPLE.md- Simple monitoring guideLAN-SETUP.md- Network configuration guidePROJECT_STRUCTURE.md- This file
# Start just the Simple Menu application
docker compose -f docker/docker-compose.unified.yml up -d backend frontend# Basic monitoring (Prometheus + Grafana)
docker compose -f docker/docker-compose.unified.yml up -d backend frontend prometheus grafana node-exporter
# Full monitoring stack
docker compose -f docker/docker-compose.unified.yml up -d# Backend (from Backend/ directory)
npm install && npm start
# Frontend (from Frontend/front/ directory)
npm install && npm start| Service | URL | Credentials | When Available |
|---|---|---|---|
| Simple Menu | http://localhost:3000 | - | Always |
| Admin Panel | http://localhost:3000/submit | - | Always |
| Health Check | http://localhost:3000/health | - | Always |
| Grafana | http://localhost:3001 | admin/admin123 | With monitoring |
| Prometheus | http://localhost:9090 | - | With monitoring |
| Kibana | http://localhost:5601 | - | Full stack only |
| Elasticsearch | http://localhost:9200 | - | Full stack only |
┌─────────────────────────────────────────────────────────────┐
│ Simple Menu Application │
├─────────────────────────────────────────────────────────────┤
│ Frontend (Angular 20) │ Backend (Node.js) │
│ • Standalone Components │ • Express Server │
│ • Angular Signals │ • WebSocket Support │
│ • HttpResource │ • Prisma ORM │
│ • SSR Compatible │ • SQLite Database │
│ • TailwindCSS + PrimeNG │ • File Upload │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────────────────────┼─────────────────────────────────┐
│ Monitoring Stack │ Optional (Resource Dependent) │
├─────────────────────────────┼─────────────────────────────────┤
│ Prometheus │ ELK Stack │
│ • Metrics Collection │ • Elasticsearch │
│ • Performance Monitoring │ • Logstash │
│ • Alert Rules │ • Kibana │
│ │ • Log Aggregation │
│ Grafana │ • Full-text Search │
│ • Dashboards │ • Log Analysis │
│ • Visualization │ │
│ • Real-time Charts │ │
└─────────────────────────────┴─────────────────────────────────┘
- Cleaner Root Directory: Only essential startup scripts in root
- Logical Grouping: Related files grouped by purpose and technology
- Easy Navigation: Clear structure for finding specific components
- Separation of Concerns: Frontend, backend, monitoring, and docs separated
- Docker Integration: All containerization files in dedicated folder
- Comprehensive Documentation: Complete docs with clear cross-references
- Scalability: Easy to add new scripts and configurations
- Maintenance: Simplified updates and version control
The main configuration files remain in the root directory:
docker-compose.yml- Basic application stackstart.ps1- Main startup scriptstart-unified.ps1- Quick unified deploymentREADME.md- Main project documentation
All deployment variations are now organized in the /docker/ directory with clear naming conventions.
- DEPLOYMENT.md - Complete setup and deployment guide
- COMPONENTS.md - Technical component and service details
- API_REFERENCE.md - REST API and WebSocket documentation
- Main README - Project overview and quick start