How nayyyr/celoe_webdev works
Celoe contains two separate ticketing products: a Laravel session-based application with RBAC and MySQL/MongoDB persistence, and a standalone Vue SPA whose data is simulated locally. The principal Laravel flow runs from role-specific ticket actions through TicketService into ticket, thread, attachment, and activity records. The Vue flow routes users to dashboard, board, activity, user, and profile screens backed by a Pinia store. Laravel ticket and authentication sources were sampled; Vue behavior and other Laravel subsystems are represented from the README and tree, so uncertain internal wiring is omitted.
Main entry points: TicketService.php Ticket service · web.php Web routes · index.js Route selection · TicketThread.php Ticket threads
Components 29
Laravel Web
- Web routes
laravel/routes/web.php - Authentication
laravel/app/Http/Controllers/Web/AuthController.php - Role dashboards
laravel/app/Http/Controllers/Web/DashboardController.php - RBAC middleware
laravel/app/Http/Middleware/CheckPermission.php - Admin management
laravel/app/Http/Controllers/Web/SuperAdmin/UserController.php
Ticket Workflow
- User tickets
laravel/app/Http/Controllers/Web/User/TicketController.php - Employee tickets
laravel/app/Http/Controllers/Web/Employee/TicketController.php - Admin ticketing
laravel/app/Http/Controllers/Web/Admin/TicketController.php - Superadmin ticketing
laravel/app/Http/Controllers/Web/SuperAdmin/TicketController.php - Ticket service
laravel/app/Services/TicketService.php - Attachment delivery
laravel/app/Http/Controllers/Web/AttachmentController.php - Resolved-ticket closure
laravel/app/Console/Commands/AutoCloseResolvedTickets.php
Laravel Data
- Ticket records
laravel/app/Models/Ticket.php - Users and access
laravel/app/Models/User.php - Ticket threads
laravel/app/Models/TicketThread.php - Activity history
laravel/app/Models/ActivityLog.php - MySQL
- MongoDB
Standalone Vue SPA
- Vue entry
vue/src/main.js - App shell
vue/src/App.vue - Route selection
vue/src/router/index.js - Dashboard layout
vue/src/components/layout/AppDashboardLayout.vue - Ticket and admin views
vue/src/views/BoardView.vue - Dashboard view
vue/src/views/DashboardView.vue - Activity view
vue/src/views/ActivityLogView.vue - Users and profile
vue/src/views/UsersView.vue - Simulated ticket state
vue/src/stores/ticketStore.js
Other components
- Web user
- SPA user
Connections 48
- Web user → Web routes: requests pages
- Web routes → Authentication: dispatches auth
- Web routes → Role dashboards: dispatches dashboard
- Web routes → User tickets: dispatches tickets
- Web routes → Employee tickets: dispatches tickets
- Web routes → Admin ticketing: dispatches tickets
- Web routes → Superadmin ticketing: dispatches tickets
- Web routes → RBAC middleware: checks access
- Authentication → Users and access: reads and creates users
- Authentication → MySQL: reads and writes
- Role dashboards → Ticket records: queries summaries
- Role dashboards → Users and access: queries counts
- Admin management → Users and access: manages accounts
- Admin management → MySQL: reads and writes
- User tickets → Ticket service: invokes actions
- Employee tickets → Ticket service: invokes actions
- Admin ticketing → Ticket service: invokes actions
- Superadmin ticketing → Ticket service: invokes actions
- User tickets → Ticket threads: reads threads
- User tickets → Activity history: reads history
- Employee tickets → Ticket threads: reads threads
- Employee tickets → Activity history: reads history
- Admin ticketing → Ticket threads: reads threads
- Admin ticketing → Activity history: reads history
- Superadmin ticketing → Ticket threads: reads threads
- Superadmin ticketing → Activity history: reads history
- Ticket service → Ticket records: creates and updates
- Ticket service → Ticket threads: creates threads
- Ticket service → Activity history: records actions
- Ticket service → Users and access: checks assignees
- Ticket records → MySQL: persists tickets
- Users and access → MySQL: persists identities
- Ticket threads → MongoDB: persists conversations
- Activity history → MongoDB: persists history
- Attachment delivery → Ticket service: stores uploads
- Resolved-ticket closure → Ticket records: updates resolved tickets
- SPA user → Vue entry: opens application
- Vue entry → Route selection: installs router
- Vue entry → App shell: mounts application
- App shell → Route selection: renders route
- App shell → Dashboard layout: wraps pages
- Route selection → Ticket and admin views: selects ticket views
- Route selection → Dashboard view: selects dashboard
- Route selection → Activity view: selects activity
- Route selection → Users and profile: selects user pages
- Ticket and admin views → Simulated ticket state: reads and mutates state
- Dashboard view → Simulated ticket state: reads summaries
- Activity view → Simulated ticket state: reads activity