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 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 |
The system comprises four distinct modules, each designed to serve specific user roles:
- 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
- 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
- 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
- Enrollment Analytics — Analyze enrollment trends and identify popular course categories
- Performance Reporting — Generate comprehensive reports on average grades across universities and subject areas
| 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 |
git clone https://github.com/DBMS-Team-404/Online_CourseManagement_System.git
cd Online_CourseManagement_SystemWindows:
python -m venv venv
venv\Scripts\activatemacOS/Linux:
python3 -m venv venv
source venv/bin/activateAfter activation, your terminal prompt should display (venv).
pip install -r requirements.txtCreate 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_passwordNote: Replace placeholder values with your actual configuration details.
- Create the database:
CREATE DATABASE course_management_db;- Import the schema:
psql -U postgres -d course_management_db -f sql/schema.sqlpython run.pyThe application will be accessible at http://127.0.0.1:5000/
Contributions to this project are welcome. Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/FeatureName) - Commit your changes (
git commit -m 'Add FeatureName') - Push to the branch (
git push origin feature/FeatureName) - Open a Pull Request
This project is developed as part of an academic assignment for Database Management Systems coursework.
For questions or support, please contact the development team through the course instructor or project repository.