How siddhi132/simple-slides works
Simple Slides is a text-first presentation application: users view shared or ad hoc slides, while administrators manage presentations, users, and uploaded images. The principal public flow resolves a presentation, checks its viewability, optionally records a view, and renders slide content in Vue; separate capabilities cover account access, media thumbnails, and view analytics. The graph uses sampled controllers and frontend entry points plus paths documented by the tree; unsampled admin and analytics wiring is kept at subsystem level rather than asserting internal calls.
Main entry points: PresentationController.php Presentation controller · Slides.vue Slides page · DailyView.php Daily view records · web.php Web routes
Components 22
Presentations
- Web routes
routes/web.php - Presentation controller
app/Http/Controllers/PresentationController.php - Ad hoc slides controller
app/Http/Controllers/AdhocSlidesController.php - Slides page
resources/js/Pages/Slides.vue - Slide components
resources/js/Components/SlideView.vue - Slide state
resources/js/store/slideStore.ts - Inertia app
resources/js/app.ts
Accounts
- Users
app/Models/User.php - Auth routes
routes/auth.php - Session controller
app/Http/Controllers/Auth/AuthenticatedSessionController.php - Registration controller
app/Http/Controllers/Auth/RegisteredUserController.php
Admin and media
- Presentation admin
app/Filament/Resources/PresentationResource.php - Image upload admin
app/Filament/Resources/ImageUploadResource.php - Presentations
app/Models/Presentation.php - Image uploads
app/Models/ImageUpload.php - Thumbnail generation
app/Jobs/GenerateThumbnail.php
View analytics
- Daily view records
app/Models/DailyView.php - View observer
app/Observers/DailyViewObserver.php - Daily aggregation
app/Jobs/AggregateDailyViews.php - Aggregate views
app/Models/AggregateView.php - View analytics widgets
app/Filament/Widgets/ViewStats.php
Other components
- Visitor
Connections 23
- Visitor → Web routes: requests pages
- Web routes → Presentation controller: routes to
- Web routes → Ad hoc slides controller: routes to
- Presentation controller → Users: loads owner
- Presentation controller → Presentations: queries presentation
- Presentation controller → Daily view records: records view
- Presentation controller → Slides page: renders with content
- Ad hoc slides controller → Daily view records: records view
- Ad hoc slides controller → Slides page: renders page
- Inertia app → Slides page: resolves page
- Slides page → Slide components: displays slides
- Slides page → Slide state: uses state
- Visitor → Auth routes: requests account access
- Auth routes → Session controller: routes login
- Auth routes → Registration controller: routes registration
- Registration controller → Users: creates account
- Presentation admin → Presentations: manages
- Image upload admin → Image uploads: manages
- Daily view records → View observer: triggers observer
- Daily aggregation → Daily view records: reads views
- Daily aggregation → Aggregate views: writes aggregates
- View analytics widgets → Aggregate views: reads analytics
- Thumbnail generation → Presentations: generates thumbnails