A full-stack web application designed for virtual classrooms, enabling secure, real-time communication, resource distribution, and automated progress tracking.
This section highlights the key architectural decisions and engineering challenges solved.
- 3-Tier Role-Based Access Control (RBAC): Strict authorization implemented in PHP to secure critical endpoints (grading, classroom creation) based on Admin, Teacher, and Student roles.
- Asynchronous Real-Time Integration: Utilized Firebase Real-time Database for instant, low-latency classroom-specific chat functionality.
- Data Aggregation: Designed efficient MySQL queries to aggregate assignment and quiz data for Teacher classroom overviews and Student progress dashboards.
- Secure File Handling: Custom PHP logic manages the secure upload and retrieval of assignments and educational resources.
| Role | Primary Responsibility | Key Permissions |
|---|---|---|
| Admin | Platform Governance | Manages all Users, Creates/Deletes Classrooms, Handles Platform Feedback. |
| Teacher | Curriculum & Grading | Creates/Deletes Classrooms, Uploads/Grades Assessments, Removes Students. |
| Student | Learning & Submission | Joins Classrooms, Submits Work, Tracks Personal Progress. |
- Classroom Management: Interfaces for creation, modification, and deletion of virtual spaces.
- Real-time Communication: Synchronous chat channels within each classroom via Firebase.
- Assessment System: Supports assignment and quiz uploads, submission tracking, grading, and feedback delivery.
- Progress Tracking: Dedicated dashboards for personalized student progress and teacher overview reports.
| Category | Technology | Purpose |
|---|---|---|
| Backend | PHP (v7+) | Server-side logic and API handling. |
| Database | MySQL | Relational data management for users, classes, and grades. |
| Real-time | Firebase RTDB | Low-latency chat synchronization. |
| Frontend | HTML, CSS, JavaScript | Structure and styling. |
Watch the Project Walkthrough (Google Drive Link)
To run the Virtual Study Space platform locally, all steps are mandatory.
git clone [https://github.com/yourusername/virtual-study-space.git](https://github.com/yourusername/virtual-study-space.git)
cd virtual-study-space-
Set up a local server (XAMPP/MAMP) running PHP and MySQL.
-
Create a MySQL database named virtual_study_space.
-
Import the schema and initial data:
#Path to the SQL file
database/virtual_study_space.sql.- Update the database connection credentials in config/database.php.
-
Create a new project in the Firebase Console and enable the Real-time Database.
-
Obtain your Web API Key and configuration object.
-
Add these credentials to the client-facing code in chat.php.
-
Security Note: Implement Firebase Security Rules to restrict access to authenticated users only.
- Place the project files within your local server's document root (e.g.,
htdocs).
Access the application via your configured local URL, typically: http://localhost/virtual-study-space/