Skip to content

Academia Plus - School Management System Prototype (C++ Qt): A demo application simulating students, teachers, courses, and exams. Built as a learning exercise.

License

Notifications You must be signed in to change notification settings

mohaneddz/Academia-Plus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏫 Academia Plus — School-Management-System


📌 Overview

Academia Plus is a C++ Qt prototype simulating a school management system.
It models students, teachers, courses, and exams in a desktop application environment.

This prototype was built in 20 days as a non-mandatory assignment, focused on exploring software design, class hierarchies, and Qt interface development. It is fully offline, using C++ file handling for data storage.


🎨 Project Design

  • Interface designed with Qt Widgets, aiming for a minimalist, modern UI.
  • Classes structured with arrays, vectors, pointers, and external functions to explore C++ capabilities.
  • Dynamic widget and layer adjustment for responsive interface.
  • Local storage ensures the app works entirely offline.

⚠️ The codebase may be inconsistent due to experimentation but reflects valuable learning.


🗺️ Project Journey

Timeline ⏳

  • Completed in 20 days, with extensive rework due to evolving requirements.
  • Added complexity over time as features and problem-solving approaches evolved.

Challenges & Motivation 💪

  • Transition from arrays to vectors mid-project.
  • Dynamic memory allocation and function adaptation to Qt.
  • Redesign to support multiple teacher roles and student year levels.
  • Scheduling system shifted to be course-focused.

Rework Highlights ♻️

  • Some features removed or simplified:
    • Icon customization for courses, teachers, students
    • Easter eggs and personalized UI features
    • Simplified scheduling system
    • Streamlined course/exam detail handling

Features like multi-year management and manual data saving/loading were omitted due to complexity.


🛠 Tech Stack

Core Development

  • C++ C++ – Main programming language for logic and OOP
  • Qt Qt – GUI framework for cross-platform desktop applications

Data & Storage

  • Local Storage C++ File Handling – Offline local storage for all data

Development Tools

  • Visual Studio Visual Studio / Qt Creator – IDE for C++ & Qt development
  • Git Git – Version control
  • CMake CMake – Build system for cross-platform compilation

📚 Lessons Learned

  • Lesson 1: Careful planning reduces rework 📝
  • Lesson 2: Concise, high-quality code > large, buggy code 💎
  • Lesson 3: Avoid unnecessary pointer complexity 🚫🔗
  • Lesson 4: More planning time saves development/debugging ⏰

🎉 Conclusion

The School-Management-System served as a valuable experimental prototype:

  • Explored Qt UI design
  • Practiced C++ data structures and OOP
  • Gained insight into software rework and iterative development

It lays a solid foundation for future school management applications.


🖼️ Screenshots

Login Window

Login Window
Use admin|admin, or a Name|Password from the database

Home Page

Home Page
Main interface with logo and homework overview

Menu Illustration

Menu Illustration
Example menu for teachers, all features implemented

Adding a New Member/Element

Add Member
Supports Teacher/Student/Course/Exam

User Credentials

User Credentials
UI displaying user information

About Context Window

About Window
Simple about dialog

Running the Application

Run Qt Project
Set project build location after downloading the zip file

About

Academia Plus - School Management System Prototype (C++ Qt): A demo application simulating students, teachers, courses, and exams. Built as a learning exercise.

Resources

License

Stars

Watchers

Forks

Packages

No packages published