Skip to content

FarishaNA/virtual_study_space

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💻 Virtual Study Space: Real-time Collaborative E-Learning Platform

Project Status License Built With Real Time

A full-stack web application designed for virtual classrooms, enabling secure, real-time communication, resource distribution, and automated progress tracking.


💡 Technical Overview

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.

🚀 Features

User Roles & Permissions

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.

Core Functionalities

  • 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.

🛠️ Technology Stack

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.

🎥 Project Demo

Watch the Project Walkthrough (Google Drive Link)


⚙️ Installation & Local Setup

To run the Virtual Study Space platform locally, all steps are mandatory.

1. Repository Setup

git clone [https://github.com/yourusername/virtual-study-space.git](https://github.com/yourusername/virtual-study-space.git)
cd virtual-study-space

2. PHP and Database Configuration

  • 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.

3. Firebase Chat Configuration (Required)

  • 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.


4. Run the Project

  • 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/

About

PHP/MySQL E-Learning Platform with Firebase integration for real-time chat

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages