Skip to content

About

πŸ“š Course management system for admins, faculty and students β€” courses, content, quizzes, assignments & results. Django.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

Β 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Typing SVG



About β€’ Features β€’ Tech Stack β€’ Project Structure β€’ Getting Started β€’ Author

πŸ“– About

Student Course Management System is a Django web application with three separate portals. The admin manages courses, students and faculty and maps faculty to courses by component and section. Faculty see their mapped courses, publish chapter-wise course content and build quizzes. Students browse courses by academic year and semester, open course content, upload their work and attempt quizzes that are graded automatically.

✨ Features

Portal Features
πŸ›‘οΈ Admin (adminapp) Login and change password Β· add, view, update and delete courses (department, academic year, semester, course code, L-T-P-S, credits) Β· add, view, update and delete students and faculty Β· faculty-course mapping by component (Lecture / Tutorial / Practical / Skill) and section Β· view contact queries
πŸ‘©β€πŸ« Faculty (facultyapp) Login and change password Β· view mapped courses Β· add and update course content (chapter, topic, description, link, file upload) Β· add and update quizzes (4 options + answer) Β· view student work uploads Β· view quiz results
πŸŽ“ Student (studentapp) Login and change password Β· view courses by academic year and semester Β· open course content Β· upload work for a topic Β· attempt quizzes with automatic scoring and a grade (A β‰₯ 70%, B β‰₯ 60%, C β‰₯ 50%, D β‰₯ 40%, else F)
🌐 Public Home, About, Contact form and separate login pages for each role

πŸ› οΈ Tech Stack

Layer Technology
Backend Python 3.12, Django (3 apps: adminapp, facultyapp, studentapp)
Database PostgreSQL (psycopg2)
Frontend Django templates, HTML5, CSS3, JavaScript
File storage Django FileField uploads under media/

πŸ“‚ Project Structure

Student-Course-Management-System/
└── SDPPROJECT/
    └── smsproject/
        β”œβ”€β”€ smsproject/        # settings.py, urls.py, views.py (home, about, logins, contact)
        β”œβ”€β”€ adminapp/          # Admin, Course, Student, Faculty, FacultyCourseMapping, Contact
        β”œβ”€β”€ facultyapp/        # CourseContent, CourseQuiz, UploadWork
        β”œβ”€β”€ studentapp/        # QuizResult, course browsing, quizzes, uploads
        β”œβ”€β”€ templates/         # 50+ pages for the three portals
        β”œβ”€β”€ static/
        β”‚   β”œβ”€β”€ css/           # adminstyle, facultystyle, studentstyle, style
        β”‚   β”œβ”€β”€ images/
        β”‚   └── js/script.js
        β”œβ”€β”€ media/             # uploaded course content
        └── manage.py

πŸš€ Getting Started

Prerequisites

  • Python 3.10+
  • PostgreSQL running locally

Setup

  1. Clone the repository
    git clone https://github.com/Annepuuday111/Student-Course-Management-System.git
    cd Student-Course-Management-System/SDPPROJECT/smsproject
  2. Create and activate a virtual environment
    python -m venv venv
    source venv/bin/activate      # Windows: venv\Scripts\activate
  3. Install dependencies
    pip install django psycopg2-binary
  4. Create the database and update DATABASES in smsproject/settings.py with your own credentials
    CREATE DATABASE "SMSProject";
  5. Apply migrations
    python manage.py migrate
  6. Create the first portal admin. Portal admins live in admin_table (the Admin model), which is registered in Django admin:
    python manage.py createsuperuser
    python manage.py runserver
    Open http://127.0.0.1:8000/admin/, add an Admin record, then sign in at http://127.0.0.1:8000/login. Students and faculty added by the admin get the default password from the model (password field default) and can change it after login.

πŸ—ΊοΈ Roadmap

  • Hash portal passwords instead of storing them in plain text
  • Move database and email credentials to environment variables
  • Add a requirements.txt

🀝 Contributing

Contributions are welcome. Fork the repo, create a branch (git checkout -b feature/my-change), commit your work and open a pull request.

πŸ‘¨β€πŸ’» Author

Annepu Uday Kumar


⭐ If you like this project, give it a star!

About

πŸ“š Course management system for admins, faculty and students β€” courses, content, quizzes, assignments & results. Django.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages