How d4niel-diaz/sonymous works
This Laravel application exposes anonymous campus messages, likes, admin moderation and announcement management through an API. The primary flow is a visitor request routed to a controller, which validates or queries domain models and returns JSON; message creation can also trigger optional real-time broadcasting. Admins can authenticate and moderate messages, while announcement endpoints manage active notices. The graph includes the scheduled cleanup command and application security middleware. Route and cleanup relationships rely on SOURCE INDEX references; unsampled implementation details are not inferred.
Main entry points: api.php API routes · MessageController.php Message API · AdminController.php Admin API · Message.php Message model
Components 20
HTTP entry and security
- API routes
routes/api.php - Web routes
routes/web.php - Security headers
app/Http/Middleware/SecurityHeaders.php - Base controller
app/Http/Controllers/Controller.php
Message lifecycle
- Message API
app/Http/Controllers/MessageController.php - Message model
app/Models/Message.php - Application database
- Like cache
- Message-created event
app/Events/MessageCreated.php - Expiry cleanup
app/Console/Commands/CleanupExpiredMessages.php
Admin and notices
- Admin API
app/Http/Controllers/AdminController.php - Admin model
app/Models/Admin.php - User model
app/Models/User.php - Announcement API
app/Http/Controllers/AnnouncementController.php - Announcement model
app/Models/Announcement.php
Application runtime
- App bootstrap
bootstrap/app.php - Service provider
app/Providers/AppServiceProvider.php
Other components
- Visitor
- Admin
- Broadcast service
Connections 22
- Visitor → API routes: requests
routes/api.php - Admin → API routes: requests
routes/api.php - API routes → Message API: routes to
routes/api.php - API routes → Admin API: routes to
routes/api.php - API routes → Announcement API: routes to
routes/api.php - Message API → Base controller: extends
app/Http/Controllers/MessageController.php - Admin API → Base controller: extends
app/Http/Controllers/AdminController.php - Announcement API → Base controller: extends
app/Http/Controllers/AnnouncementController.php - Message API → Message model: queries and writes
app/Http/Controllers/MessageController.php - Message API → Like cache: claims likes
app/Http/Controllers/MessageController.php - Message API → Message-created event: dispatches
app/Http/Controllers/MessageController.php - Message-created event → Broadcast service: broadcasts
app/Events/MessageCreated.php - Expiry cleanup → Message model: cleans expired
app/Console/Commands/CleanupExpiredMessages.php - Admin API → Admin model: authenticates
app/Http/Controllers/AdminController.php - Admin API → Message model: moderates
app/Http/Controllers/AdminController.php - Announcement API → Announcement model: manages
app/Http/Controllers/AnnouncementController.php - App bootstrap → API routes: loads routes
bootstrap/app.php - App bootstrap → Web routes: loads routes
bootstrap/app.php - App bootstrap → Security headers: registers
bootstrap/app.php - Message model → Application database: persists records
- Admin model → Application database: persists records
- Announcement model → Application database: persists records