How nutt99/restaurant-bi-backend-laravel works
This repository implements a restaurant sales and business-intelligence application: users manage menu items, record transactions, and inspect sales summaries and reports. The main request path is API client → Laravel routes → controller actions → Eloquent models and database; transaction creation calculates totals and persists both the transaction and its items. Dashboard analytics and report exports are separate read-oriented capabilities. The README is only Laravel boilerplate, so product capabilities are inferred from sampled controllers and the source index; frontend behavior and detailed route middleware are not shown.
Main entry points: api.php API Routes · Transaction.php Transaction · TransactionController.php Transaction Handling · ReportController.php Reports and Exports
Components 16
API and Access
- API Routes
routes/api.php - Authentication
app/Http/Controllers/AuthController.php - Role Middleware
app/Http/Middleware/CheckRole.php
Restaurant Sales
- Menu Management
app/Http/Controllers/MenuController.php - Transaction Handling
app/Http/Controllers/TransactionController.php
Sales Intelligence
- Dashboard Metrics
app/Http/Controllers/DashboardController.php - Reports and Exports
app/Http/Controllers/ReportController.php - Sales Export View
resources/views/sales.blade.php
Domain and Persistence
- User Account
app/Models/User.php - Menu Item
app/Models/Menu.php - Transaction
app/Models/Transaction.php - Transaction Item
app/Models/TransactionItem.php - Application Database
Other components
- API Client
- PDF Exporter
- Excel Exporter
Connections 26
- API Client → API Routes: sends requests
routes/api.php - API Routes → Authentication: routes to
routes/api.php - API Routes → Menu Management: routes to
routes/api.php - API Routes → Transaction Handling: routes to
routes/api.php - API Routes → Dashboard Metrics: routes to
routes/api.php - API Routes → Reports and Exports: routes to
routes/api.php - Authentication → User Account: authenticates users
app/Http/Controllers/AuthController.php - Menu Management → Menu Item: reads and writes
app/Http/Controllers/MenuController.php - Transaction Handling → Menu Item: loads prices
app/Http/Controllers/TransactionController.php - Transaction Handling → User Account: validates user
app/Http/Controllers/TransactionController.php - Transaction Handling → Transaction: creates and reads
app/Http/Controllers/TransactionController.php - Transaction Handling → Transaction Item: creates items
app/Http/Controllers/TransactionController.php - Dashboard Metrics → Transaction: aggregates sales
app/Http/Controllers/DashboardController.php - Dashboard Metrics → Transaction Item: ranks menu sales
app/Http/Controllers/DashboardController.php - Reports and Exports → Transaction: queries report data
app/Http/Controllers/ReportController.php - Reports and Exports → Sales Export View: renders exports
app/Http/Controllers/ReportController.php - Reports and Exports → PDF Exporter: downloads PDF
app/Http/Controllers/ReportController.php - Reports and Exports → Excel Exporter: downloads workbook
app/Http/Controllers/ReportController.php - Transaction → Transaction Item: has many
app/Models/Transaction.php - Transaction Item → Menu Item: belongs to
app/Models/TransactionItem.php - Transaction → User Account: belongs to
app/Models/Transaction.php - Transaction → Application Database: persists records
- Transaction Item → Application Database: persists records
- Menu Item → Application Database: persists records
- User Account → Application Database: persists records
- API Routes → Role Middleware: may apply roles