How imondol41/ielts-demo works
This is a PHP MVC IELTS preparation platform: users enter through routed web requests, access account and dashboard features, and practice Reading, Writing, Listening, and Speaking. The documented core workflow includes selecting a practice item, completing it, and reviewing progress or results. The README describes Reading scoring and Writing submissions; Listening and Speaking are listed as coming soon despite having controllers and views in the tree. Controller-to-model wiring is not established by the sampled excerpts, so those links are omitted.
Main entry points: App.php Request router · index.php HTTP entry · Database.php PDO database · Auth.php Authentication
Components 29
Web entry
- HTTP entry
index.php
Account and progress
- Authentication
controllers/Auth.php - Login and registration
views/auth/login.php - User account model
models/User.php - Progress dashboard
controllers/Dashboard.php - Progress summary
views/dashboard/index.php - Profile and history
controllers/Profile.php - Profile pages
views/profile/index.php
IELTS practice
- Reading practice
controllers/Reading.php - Reading data and scoring
models/ReadingModel.php - Passages and results
views/reading/index.php - Writing practice
controllers/Writing.php - Writing task data
models/WritingModel.php - Writing tasks
views/writing/index.php - Listening practice
controllers/Listening.php - Listening data
models/ListeningModel.php - Listening tests
views/listening/index.php - Speaking practice
controllers/Speaking.php - Speaking data
models/SpeakingModel.php - Speaking topics
views/speaking/index.php
Practice management
- Content administration
controllers/Admin.php - Admin content model
models/AdminModel.php - Admin pages
views/admin/dashboard.php
MVC runtime
- Request router
core/App.php - Controller base
core/Controller.php - PDO database
core/Database.php - Shared page layout
views/layouts/main.php
Other components
- Learner
- MySQL
Connections 11
- Learner → HTTP entry: sends request
- HTTP entry → Request router: starts app
- Request router → Authentication: dispatches
- Request router → Progress dashboard: dispatches
- Request router → Profile and history: dispatches
- Request router → Reading practice: dispatches
- Request router → Writing practice: dispatches
- Request router → Listening practice: dispatches
- Request router → Speaking practice: dispatches
- Request router → Content administration: dispatches
- PDO database → MySQL: connects