How gab-abc/internship-management-intranet works
This is a PHP intranet for schools to manage internships, companies, faculty, and user access. The main workflow is a user request entering through the front controller, passing route and role checks, then reaching a controller that searches or changes internship records and renders a page; authorized staff can also export filtered listings as PDFs. Separate branches cover company and faculty directories, user administration, account access, and school configuration. The excerpts show concrete calls for several controllers; links for other documented features are limited to routes and tree evidence.
Main entry points: Router.php Route dispatch · StageController.php Internship workflow · Controller.php View and access base · EntrepriseController.php Company directory
Components 24
Request and access
- Front controller
index.php - Route dispatch
src/Core/Router.php - Authentication
src/Core/Auth.php - Login and account
src/Controllers/AuthController.php
Internship management
- Dashboard
src/Controllers/HomeController.php - Internship workflow
src/Controllers/StageController.php - Internship records
src/Models/Stage.php - Student records
src/Models/Etudiant.php - Tutor records
src/Models/Tuteur.php - Internship PDF
src/Lib/StagePdf.php
Directories and administration
- Company directory
src/Controllers/EntrepriseController.php - Company records
src/Models/Entreprise.php - Company PDF
src/Lib/EntreprisePdf.php - Faculty management
src/Controllers/ProfController.php - Faculty records
src/Models/Prof.php - User administration
src/Controllers/UserController.php - User records
src/Models/User.php - School settings
src/Controllers/ConfigController.php
Rendering and persistence
- View and access base
src/Core/Controller.php - Page templates
src/Views - Shared page layout
src/Views/layout/main.php - PDO database access
src/Core/Database.php
Other components
- School user
- MySQL database
Connections 34
- School user → Front controller: requests page
- Front controller → Route dispatch: dispatches to
- Route dispatch → Authentication: checks access
- Route dispatch → Login and account: dispatches route
- Route dispatch → Dashboard: dispatches route
- Route dispatch → Internship workflow: dispatches route
- Route dispatch → Company directory: dispatches route
- Route dispatch → Faculty management: dispatches route
- Route dispatch → User administration: dispatches route
- Route dispatch → School settings: dispatches route
- Login and account → Authentication: authenticates user
- Dashboard → Internship records: loads statistics
- Internship workflow → Internship records: searches and updates
- Internship workflow → Student records: updates student
- Internship workflow → Company records: loads and resolves company
- Internship workflow → Tutor records: resolves tutor
- Internship workflow → Faculty records: loads and resolves faculty
- Internship workflow → Internship PDF: generates PDF
- Company directory → Company records: searches and updates
- Company directory → Company PDF: generates PDF
- Faculty management → Faculty records: manages faculty
- User administration → User records: manages accounts
- Dashboard → View and access base: renders page
- Internship workflow → View and access base: renders page
- Company directory → View and access base: renders page
- Faculty management → View and access base: renders page
- User administration → View and access base: renders page
- Login and account → View and access base: renders account
- View and access base → Page templates: loads template
- View and access base → Shared page layout: wraps content
- Internship records → PDO database access: queries
- Company records → PDO database access: queries
- User records → PDO database access: queries
- PDO database access → MySQL database: connects to