A comprehensive restaurant management solution built with Next.js, featuring POS, inventory management, staff management, kitchen operations, and advanced analytics.
- Point of Sale (POS) - Complete order taking and transaction processing
- Inventory Management - Product catalog, stock tracking, and supplier management
- Staff Management - Employee records, roles, and activity tracking
- Kitchen Management - Order tracking and kitchen display system
- Table Management - Visual table layout and reservation system
- Analytics & Reports - Comprehensive business intelligence
- Multi-language Support - English and French localization
- Security - Role-based access control and data encryption
- Performance - Optimized for speed with caching and search optimization
- Node.js 18.0 or higher
- MongoDB 5.0 or higher
- npm or yarn package manager
- Modern web browser (Chrome, Firefox, Safari, Edge)
```bash git clone https://github.com/your-org/platinum-lounge.git cd platinum-lounge ```
```bash npm install
yarn install ```
Create a .env.local file in the root directory:
```env
MONGODB_URI=mongodb://localhost:27017/platinum-lounge
JWT_SECRET=your-super-secret-jwt-key-here
ENCRYPTION_KEY=your-32-character-encryption-key
BACKUP_DIR=./backups
SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=[email protected] SMTP_PASS=your-app-password ```
-
Install MongoDB Community Edition
-
Start MongoDB service: ```bash
brew services start mongodb-community
sudo systemctl start mongod
net start MongoDB ```
```bash
docker run -d
--name platinum-lounge-db
-p 27017:27017
-v mongodb_data:/data/db
mongo:5.0
```
```bash npm run db:init ```
This will create the initial database structure and Super Admin account:
- Username: admin
- Password: admin123
- Role: Super Admin
```bash npm run dev ```
The application will be available at http://localhost:3000
- Create
docker-compose.yml:
```yaml version: '3.8' services: app: build: . ports: - "3000:3000" environment: - MONGODB_URI=mongodb://mongo:27017/platinum-lounge - JWT_SECRET=your-jwt-secret - ENCRYPTION_KEY=your-encryption-key depends_on: - mongo volumes: - ./backups:/app/backups
mongo: image: mongo:5.0 ports: - "27017:27017" volumes: - mongodb_data:/data/db
volumes: mongodb_data: ```
- Deploy:
```bash docker-compose up -d ```
| Variable | Description | Required | Default |
|---|---|---|---|
MONGODB_URI |
MongoDB connection string | Yes | - |
JWT_SECRET |
JWT signing secret | Yes | - |
ENCRYPTION_KEY |
AES-256 encryption key | Yes | - |
BACKUP_DIR |
Backup storage directory | No | ./backups |
NODE_ENV |
Environment mode | No | development |
The system includes several security features:
- Password Requirements: Minimum 8 characters with uppercase, lowercase, numbers, and special characters
- Rate Limiting: 100 requests per minute per IP
- Session Timeout: 24 hours (configurable)
- Data Encryption: AES-256 for sensitive data
- Security Headers: CSRF, XSS, and clickjacking protection
users- Staff accounts and authenticationproducts- Inventory items and pricingcategories- Product categorizationsuppliers- Vendor informationtables- Restaurant table configurationorders- Customer orders and transactionspayments- Payment recordsstock_movements- Inventory trackingactivity_logs- System audit trail
```bash
npm run test
npm run test:integration
npm run test:e2e
npm run test:coverage ```
Load sample data for testing:
```bash npm run db:seed ```
- Application Cache: LRU cache with 5-minute TTL
- Database Queries: Indexed collections for fast lookups
- Static Assets: CDN-ready with proper headers
- Search: Debounced with sub-millisecond response times
Access system metrics at /dashboard/system (Super Admin only):
- Memory usage and performance metrics
- Database connection status
- Cache hit/miss ratios
- Security event logs
- Change default admin password immediately
- Use strong passwords for all accounts
- Enable two-factor authentication (if configured)
- Regular password rotation policy
- Regular database backups (automated daily at 2 AM)
- Encrypted sensitive data at rest
- Secure API endpoints with JWT tokens
- Input validation and sanitization
- Use HTTPS in production
- Configure firewall rules
- Regular security updates
- Monitor access logs
-
System Requirements: ```bash
sudo apt update sudo apt install nodejs npm mongodb-server nginx
sudo yum install nodejs npm mongodb-server nginx ```
-
Application Setup: ```bash
git clone https://github.com/your-org/platinum-lounge.git cd platinum-lounge npm install npm run build
sudo cp scripts/platinum-lounge.service /etc/systemd/system/ sudo systemctl enable platinum-lounge sudo systemctl start platinum-lounge ```
-
Nginx Configuration:
server { listen 80; server_name your-domain.com; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } \`\`\`
```bash
sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d your-domain.com ```
The application is fully responsive and optimized for:
- Phones: 6.7" and smaller screens
- Tablets: 7" to 12" screens
- Desktop: 13" to 27" screens
- Minimum 44px touch targets
- Swipe gestures for navigation
- Optimized keyboard inputs
- Fast tap responses
- English (en)
- French (fr)
- Create translation file:
lib/translations/[locale].json - Add language option in
components/language-switcher.tsx - Update
lib/i18n.tsconfiguration
See TROUBLESHOOTING.md for common issues and solutions.
API endpoints documentation available at /api/docs when running in development mode.
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open Pull Request
This project is licensed under the MIT License - see LICENSE file for details.
- Documentation: docs/
- Issues: GitHub Issues
- Email: [email protected]
- Phone: +1 (555) 123-4567
- v1.0.0 - Initial release with core POS functionality
- v1.1.0 - Added inventory management
- v1.2.0 - Staff management and reporting
- v1.3.0 - Kitchen management system
- v1.4.0 - Advanced table management
- v1.5.0 - Analytics and reporting dashboard
- v1.6.0 - Performance optimizations and security enhancements
- v1.7.0 - Complete documentation and support system