Skip to content

DinithMadushan/designed-LMS

Repository files navigation

🎓 BCI Campus Learning Management System (LMS)

Object-Oriented Programming (OOP) Based Academic Management System

Python OOP Status University

🚀 A fully structured Object-Oriented Python project that simulates a real-world Learning Management System (LMS) for a university campus using core OOP principles.


📌 Project Overview

The BCI Campus LMS is an academic software system developed as part of my University Object-Oriented Programming (OOP) module.
It is designed to digitally manage:

  • Students & Courses
  • Academic & Non-Academic Employees
  • Campus Structure & Salary Handling

This system follows real-world software design practices using Abstraction, Encapsulation, Inheritance, and Polymorphism.


✨ Key Functionalities

🧑‍🎓 Student & Course Management

  • Create and manage student records.
  • Enroll students into:
    • 🎓 Degree Programs
    • 📜 Diploma Programs
    • 📘 Certificate Programs
  • Automatic average result calculation based on course type logic.

🧑‍🏫 Employee & Faculty Management

  • Manage:
    • Academic Staff
    • Non-Academic Staff
  • Salary handled through:
    • ⏱️ Hourly-based salary (Academic)
    • 💼 Commission-based salary (Non-Academic)

🏫 Campus System Architecture

  • Abstract Campus class for extensibility.
  • Concrete implementation using BCICampus.
  • Designed for future multi-campus expansion.

⚙️ OOP Concepts & Techniques Applied

Concept Description
✅ Encapsulation Secure data using getters & setters
✅ Inheritance Parent-child class relationships
✅ Abstraction Abstract Campus & Salary logic
✅ Polymorphism Method overriding & dynamic behavior
✅ Exception Handling Input & runtime error handling
✅ Modular Design Well-separated Python modules

🗂️ Project Structure

BCI-Campus-LMS/
│
├── student.py        → Student class & student operations
├── course.py         → Course base class
├── employee.py       → Employee parent class
├── faculty.py        → Academic & Non-Academic child classes
├── campus.py         → Abstract Campus class
├── findaverage.py    → Average calculation logic
├── findSalary.py     → Salary calculation logic
├── main.py           → System execution entry point
└── README.md         → Project documentation

▶️ How to Run the Project

Follow the steps below to run the BCI Campus LMS on your system:


✅ 1. Prerequisites

Make sure you have the following installed:

  • Python 3.x
  • Git
  • A code editor (VS Code recommended)

Check Python version:

python --version

✅ 2. Clone the Repository

git clone https://github.com/DinithMadushan/designed-LMS.git

✅ 3. Navigate to the Project Directory

cd designed-LMS

✅ 4. Run the Application

python main.py

🚀 Future Enhancements

The current system is a foundational LMS model. Possible future upgrades include:

  • 🔐 User Authentication & Login System
  • 🗄️ Database Integration (MySQL / SQLite)
  • 🌐 Web-Based Interface (Flask / Django)
  • 📊 Student Performance Analytics Dashboard
  • 🧾 Automated Report & Transcript Generation
  • 🏢 Multi-Campus Support

These improvements will help convert this academic project into a full-scale production-ready LMS.


🧠 Learning Outcomes

Through this project, I strengthened my understanding of:

  • Real-world Object-Oriented System Design
  • Python Class Architecture & Modular Programming
  • Abstract Class & Method Implementation
  • Exception Handling & Input Validation
  • Software Structuring for Scalability

🙏 Acknowledgements

  • My lecturers and instructors for their guidance in Object-Oriented Programming.
  • Online documentation and learning platforms for continuous support.
  • My university for providing the academic framework for this project.

💬 Feedback & Support

If you have suggestions, improvements, or find any issues:

  • Feel free to open an issue in the repository
  • Or fork the project and submit a pull request

Constructive feedback is always welcome for learning and improvement! 😊


📫 Contact

Author: Dinith Madushan
Field: Software Engineering Undergraduate
Interests: Python, OOP, System Design, Backend Development

📌 For academic collaboration and learning purposes only.


✨ Thank you for checking out the BCI Campus LMS – OOP Based System!
⭐ Don’t forget to star the repository if you found this project helpful.

About

Learning Management System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors