Skip to content

Repository files navigation

📚 Online Course Management System

A comprehensive web-based platform designed to facilitate seamless interaction between students, instructors, administrators, and data analysts. This system manages the complete lifecycle of online education, from course creation and enrollment to grading and performance analysis.


👥 Team Information

Team Name: DBMS_Team404

Roll Number Name
23CS10054 Popuri Anirudh
23CS10013 Chintada Yesheeth Sree Narayana
23CS10078 Vemuri Sai Lokesh
23CS10052 Payidiparthy Sri Surya Naga Hadwik
23CS10017 Dasari Veera Venkata Abhinav Teja

✨ Features

The system comprises four distinct modules, each designed to serve specific user roles:

👨‍🎓 Student Module

  • Course Discovery — Search and filter courses by category, instructor, or affiliated university
  • Enrollment Management — Self-registration for courses with a single click
  • Learning Dashboard — Access to course materials including videos and lecture notes with progress tracking
  • Performance Monitoring — View graded assignments and course completion status

👨‍🏫 Instructor Module

  • Course Management — Create courses, define duration, and set prerequisites
  • Content Administration — Upload and organize educational materials
  • Assessment Tools — View enrolled students, assign grades, and issue certifications

🔐 Administrator Module

  • User Management — Validate and approve new instructor accounts
  • Platform Moderation — Monitor platform activity and enforce content policies
  • Registry Administration — Maintain master records of partner universities and textbooks

📊 Data Analyst Module

  • Enrollment Analytics — Analyze enrollment trends and identify popular course categories
  • Performance Reporting — Generate comprehensive reports on average grades across universities and subject areas

🛠️ Technology Stack

Component Technology Purpose
Backend Python (Flask) Lightweight WSGI-compliant web framework
Database PostgreSQL Relational database management system
Database Adapter Psycopg2 Python-PostgreSQL database connector
Frontend HTML5, CSS3, Bootstrap 5 Responsive user interface framework
Client Scripting JavaScript Client-side validation and dynamic content

⚙️ Installation and Setup

Step 1: Clone the Repository

git clone https://github.com/DBMS-Team-404/Online_CourseManagement_System.git
cd Online_CourseManagement_System

Step 2: Create Virtual Environment

Windows:

python -m venv venv
venv\Scripts\activate

macOS/Linux:

python3 -m venv venv
source venv/bin/activate

After activation, your terminal prompt should display (venv).

Step 3: Install Dependencies

pip install -r requirements.txt

Step 4: Configure Environment Variables

Create a .env file in the root directory with the following configuration:

# Flask Configuration
SECRET_KEY=your_secret_key_here

# Database Configuration
DB_HOST=localhost
DB_NAME=course_management_db
DB_USER=postgres
DB_PASS=your_postgres_password

Note: Replace placeholder values with your actual configuration details.

Step 5: Database Configuration

  1. Create the database:
CREATE DATABASE course_management_db;
  1. Import the schema:
psql -U postgres -d course_management_db -f sql/schema.sql

Step 6: Run the Application

python run.py

The application will be accessible at http://127.0.0.1:5000/


🤝 Contributing

Contributions to this project are welcome. Please follow these guidelines:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/FeatureName)
  3. Commit your changes (git commit -m 'Add FeatureName')
  4. Push to the branch (git push origin feature/FeatureName)
  5. Open a Pull Request

📄 License

This project is developed as part of an academic assignment for Database Management Systems coursework.


📧 Contact

For questions or support, please contact the development team through the course instructor or project repository.

About

Multi-role course management platform built with Flask and PostgreSQL, supports student enrollment, instructor grading, admin controls, and analyst dashboards with CSV export.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages