Skip to content

A user-friendly GUI application designed to manage student records using SQLite database integration made with Qt Designer.

License

Notifications You must be signed in to change notification settings

KlausJackson/Student-Management-System

Repository files navigation

Student-Management-System

Python version License GitHub top language GitHub code size in bytes GitHub issues GitHub issues GitHub issues GitHub issues GitHub last commit

Forks Stars Watchers

A user-friendly GUI application designed to manage student records using SQLite database integration and Qt Designer.

How To Contact Me

Patreon Buy Me A Coffee LinkedIn Gmail Steam Twitter

Preview

Basic Version

This is a short clip showing you how to add a student in the Basic Version and what information a student would have in this database. Some information can't be leave blank like Name and ID.
I have many other tutorial videos on how to use the Basic Version in the Tutorial Videos directory.

NOTE: Ignore the dark theme in this short clip of the Basic Version, it won't look like that when you download the code to your computer, unless you have installed a dark theme using ThemeTool. It would be a light theme like many other applications.

Tutorial Video

Modern Version

This is a short clip of the Modern Version, similar to Basic Version, but with modern-looking GUI, very easy to use.

Tutorial Video

This version is made with Qt Designer (generates .ui files), PySide6 and Custom_Widgets by Khamisi Kibet.

NOTE: Dark theme is the default theme of this version.

Overview

Intuitive Interface: Student Manager boasts a clean and intuitive graphical user interface, making it accessible for users of all levels of technical proficiency.

Comprehensive Student Profiles: Each student record includes essential information such as student ID, name, course details, contact information, and additional notes, ensuring all pertinent details are easily accessible and organized.

Effortless Data Management: With the ability to add, delete, and edit student records, Student Manager simplifies the process of keeping your database up-to-date and accurate. The database file is saved locally so you don't need internet connection to access it.

Advanced Search Functionality: Quickly find specific student records using the search feature, allowing you to locate information with precision and ease.

Export Options: Student Manager offers versatile export capabilities, allowing you to convert your SQLite database to various formats including Word, Excel, PDF, and CSV. Whether you need to create reports, share information, or integrate data into other systems, Student Manager ensures compatibility and flexibility.

Requirements & Usage

Non-programmers can read this short tutorial on how to setup Python environment if you haven't, ask AI or file an issue to get better instruction on how to run this app.

General requirements:

  • Python 3.8 or higher
  • sqlite3 (Python's default library)
  • pandas (Python's default library)
  • docx (pip install python-docx)
  • reportlab (pip install reportlab)
  • openpyxl (pip install openpyxl)

Specific requirements for Basic Version: PyQt6

pip install -r requirements-B.txt

Specific requirements for Modern Version:

  • PySide6 (you can use PyQt if you don't want to install PySide6, just change the imports in each file)
  • GTK+ for Windows Runtime Environment (to avoid error cannot load library on Windows)
  • Custom_Widgets (pip install QT-PyQt-PySide-Custom-Widgets).
pip install -r requirements-M.txt

How to run for each version: open the terminal and type python3 main.py for Modern Version, python3 SMS.py for Basic Version.

Note

If you're interested in learning how to use QT Designer and Custom-Widgets library, you can check out Khamisi Kibet for reference.

Khamisi Kibet's Github: https://github.com/KhamisiKibet
Custom-Widgets's repo: https://github.com/KhamisiKibet/QT-PyQt-PySide-Custom-Widgets
Custom-Widgets's Documentation: https://khamisikibet.github.io/Docs-QT-PyQt-PySide-Custom-Widgets/
Khamisi Kibet's YouTube channel: https://www.youtube.com/@SpinnTV

He posts a lot of helpful tutorials about making modern-looking desktop application using QT Designer, Python and Custom-Widgets.

The End

This is only a basic and user-friendly GUI application that interact with the database file stored locally in your computer. I will make a C++ version.

Please file an issue if there's any problem with the code.

The process of making this application is inspired by: Ardit Sulce.
The process of making the Modern Version is inspired by: Khamisi Kibet

How to Setup Python Environment (for non-programmers)

This tutorial is for Windows users, check out YouTube, ask AI if you use other operating system (Linux/MacOS)

  • Download Python on their website or Microsoft Store.
  • Search for "Environment Variables" on your computer, click on the following: "Edit the system environment variables" > "Environment Variables" > "Path" (below "OS") > "Edit".
  • Locate python.exe, Scripts and site-packages folders, add their paths to the system path (click on "New" in ""Edit environment variables" window). Click "OK" to save everything.
  • SOMETIMES, the order of the path matters, so you need to move them up to the top.
  • Open command prompt, use python --version and pip --version to verify that you have successfully setup your Python environment.

Check out YouTube tutorials, ask AI or file an issue if you still have questions.

Releases

No releases published

Packages

No packages published

Languages