How ryuka2006/optical-store works
Optical-Store is a role-based optical retail and clinic application. Staff workspaces support product/customer and sales operations; cashiers complete checkout and refunds, while optometrists manage appointments, examinations and prescriptions. Admin APIs cover account and operational management. The PHP APIs connect to a shared MySQL database, with role checks provided by shared security code. The README gives no workflow detail, and browser-to-API wiring was not shown, so those links are left unasserted; some role-specific features are represented at directory level.
Main entry points: Api/database.php Database Connection · guard.php API Security · api/database.php Cashier Data Access · API/database.php Sales Data Access
Components 24
Administration
- Admin Interface
Admin/JS/admin.js - Admin APIs
Admin/Api - Generic CRUD
Admin/Api/crud.php - User Management
Admin/Api/users.php - Examinations
Admin/Api/examinations.php - Sales Orders
Admin/Api/sale_order.php
Sales Workspaces
- Cashier Interface
Cashier/js/cashier.js - Cashier Workspace
Cashier/api/workspace.php - Cashier Transactions
Cashier/api - Sales Interface
Sale-Staff/JS/salestaff.js - Sales Workspace
Sale-Staff/API/workspace.php - Product Management
Sale-Staff/API/products.php
Clinical Workspace
- Optometrist Interface
Optometrist/JS/index.js - Clinical APIs
Optometrist/Api - Clinical Dashboard
Optometrist/Api/dashboard.php
Shared Services
- API Security
Admin/Api/guard.php - Database Connection
Admin/Api/database.php - Cashier Data Access
Cashier/api/database.php - Sales Data Access
Sale-Staff/API/database.php - Clinical Data Access
Optometrist/Api/database.php
Other components
- Administrator
- Cashier
- Sales Staff
- Optometrist
Connections 20
- Generic CRUD → API Security: requires security
Admin/Api/crud.php - User Management → API Security: checks access
Admin/Api/users.php - User Management → Database Connection: queries
Admin/Api/users.php - Examinations → API Security: checks access
Admin/Api/examinations.php - Examinations → Database Connection: queries
Admin/Api/examinations.php - Sales Orders → API Security: checks access
Admin/Api/sale_order.php - Sales Orders → Database Connection: queries
Admin/Api/sale_order.php - Cashier Workspace → Cashier Data Access: includes access
Cashier/api/workspace.php - Cashier Workspace → Database Connection: writes transactions
Cashier/api/workspace.php - Cashier Data Access → API Security: requires security
Cashier/api/database.php - Cashier Data Access → Database Connection: loads connection
Cashier/api/database.php - Cashier Transactions → Cashier Data Access: uses access
Cashier/api/payment.php - Sales Workspace → Sales Data Access: includes access
Sale-Staff/API/workspace.php - Sales Workspace → Database Connection: updates sales data
Sale-Staff/API/workspace.php - Product Management → Sales Data Access: uses access
Sale-Staff/API/products.php - Sales Data Access → API Security: requires security
Sale-Staff/API/database.php - Sales Data Access → Database Connection: loads connection
Sale-Staff/API/database.php - Clinical APIs → Clinical Data Access: uses access
Optometrist/Api/dashboard.php - Clinical Data Access → API Security: requires security
Optometrist/Api/database.php - Clinical Data Access → Database Connection: loads connection
Optometrist/Api/database.php