A comprehensive restaurant management solution built with Next.js and Electron, featuring multi-role dashboards, real-time operations tracking, and Arabic localization.
- Native Desktop App - Runs on Windows, macOS, and Linux
- Offline Capability - Works without internet connection
- System Integration - Native menus, shortcuts, and notifications
- Auto-Updates - Seamless application updates
- Owner Dashboard - Real-time monitoring and financial reports
- Admin Panel - Inventory management and worker scheduling
- Cashier Portal - Sales processing and order management
- Frontend: Next.js 14, React 18, TypeScript
- Desktop: Electron 28
- UI: Tailwind CSS, Shadcn/ui
- State: Zustand
- Build: Electron Builder
```bash Node.js 18+ npm or yarn ```
```bash
git clone https://github.com/yourusername/restaurant-management-system.git cd restaurant-management-system
npm install
npm run electron-dev
npm run dev
npm run electron ```
```bash
npm run build
npm run dist
npm run electron-build ```
- File Menu: New Order (Ctrl+N), Print Report (Ctrl+P)
- View Menu: Dashboard (Ctrl+1), Sales (Ctrl+2), Inventory (Ctrl+3)
- Window Menu: Minimize, Close, Developer Tools
Ctrl+N- New OrderCtrl+P- Print ReportCtrl+1/2/3- Navigate to Dashboard/Sales/InventoryCtrl+R- Reload ApplicationF12- Toggle Developer Tools
- Notifications - Order alerts and system notifications
- File Dialogs - Save/Open reports and data
- System Tray - Minimize to system tray (optional)
- Auto-Start - Launch on system startup (optional)
- Installer: NSIS installer with custom options
- File Association: Associate with restaurant data files
- Start Menu: Integration with Windows Start Menu
- DMG Package: Drag-and-drop installation
- App Store Ready: Prepared for Mac App Store submission
- Native Look: macOS-specific UI adaptations
- AppImage: Portable application format
- Desktop Integration: .desktop file for application launchers
- Package Managers: Support for various Linux distributions
```javascript // electron/main.js configuration { width: 1400, height: 900, minWidth: 800, minHeight: 600, webPreferences: { nodeIntegration: false, contextIsolation: true, preload: path.join(__dirname, 'preload.js') } } ```
```json // package.json build settings { "build": { "appId": "com.restaurant.management", "productName": "Restaurant Management System", "directories": { "output": "dist" } } } ```
```bash npm run electron-dev ```
```bash npm run dist ```
- Windows:
.exeinstaller and portable.exe - macOS:
.dmgdisk image and.appbundle - Linux:
.AppImageand.deb/.rpmpackages
- Context Isolation: Enabled for security
- Node Integration: Disabled in renderer
- Preload Scripts: Secure IPC communication
- Content Security Policy: Implemented for web content
- Fast Startup: Optimized loading time
- Memory Efficient: Minimal resource usage
- Responsive UI: Smooth interactions
- Background Processing: Non-blocking operations
- 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
MIT License - see LICENSE file for details.
=======
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@restaurant-management.com
87e58cf (first blood) Built with β€οΈ using Electron and Next.js