How kadirermantr/news-hub works
News Hub is a role-based news website: readers browse news and categories, read articles, comment, and follow categories; registered users can track reads, while authorized staff manage news, categories, comments, users, and access requests. Its documented JSON API exposes individual and category-filtered news. The graph follows route dispatch and sampled controller behavior; several administrative and model implementations were not sampled, so their internal wiring is shown only where routes and the tree support it.
Main entry points: Router.php Request router · Models Domain models · HomeController.php News and categories · Auth Login and registration
Components 23
Web runtime
- Web entry point
public/index.php - Application lifecycle
core/Application.php - Route definitions
app/routes.php - Request router
core/Router.php
Reader experience
- News and categories
app/Controllers/HomeController.php - News API
app/Controllers/Admin/NewsController.php - Rendered pages
resources/views
Accounts and access
- Request middleware
app/Middlewares - Login and registration
app/Controllers/Auth - Session state
core/Session.php
Administration
- News management
app/Controllers/Admin/NewsController.php - Category management
app/Controllers/Admin/CategoryController.php - Comment moderation
app/Controllers/Admin/CommentController.php - User administration
app/Controllers/Admin/UserController.php - Staff and profiles
app/Controllers/Admin
Data and activity
- Domain models
app/Models - Model persistence layer
core/Model.php - Database access
core/DB.php - Application database
- Activity logging
core/log/Logger.php - Activity log file
Other components
- Reader or staff
- API client
Connections 38
- Web entry point → Application lifecycle: starts
- Application lifecycle → Request router: resolves request
- Route definitions → Request router: registers routes
- Reader or staff → Request router: sends request
- API client → Request router: requests API
- Request router → Request middleware: executes checks
- Request router → News and categories: dispatches
- Request router → Login and registration: dispatches
- Request router → News API: dispatches
- Request router → News management: dispatches
- Request router → Category management: dispatches
- Request router → Comment moderation: dispatches
- Request router → User administration: dispatches
- Request router → Staff and profiles: dispatches
- News and categories → Domain models: reads and writes
- Login and registration → Domain models: reads and writes
- News API → Domain models: reads news
- News management → Domain models: manages news
- Category management → Domain models: manages categories
- Comment moderation → Domain models: manages comments
- User administration → Domain models: manages users
- Staff and profiles → Domain models: manages records
- Domain models → Model persistence layer: uses persistence
- Model persistence layer → Database access: uses database access
- Database access → Application database: queries
- News and categories → Session state: tracks session state
- Login and registration → Session state: sets session state
- Application lifecycle → Rendered pages: renders errors
- News and categories → Request router: renders pages
- Login and registration → Request router: renders pages
- News management → Request router: renders pages
- Category management → Request router: renders pages
- Comment moderation → Request router: renders pages
- User administration → Request router: renders pages
- Staff and profiles → Request router: renders pages
- Request router → Rendered pages: includes view
- User administration → Activity logging: reads activity
- Activity logging → Activity log file: writes log