Skip to content

RandomSearch18/pupil-management-system

Repository files navigation

Mr Leeman's System

A menu-based tool for viewing, searching, and managing pupils' details, made using Python. In other words, it's a pupil management system.

Screenshots

Screenshot of the program running in a terminal. A new account is being created, with inputs and descriptive text for the Username and Password fields Screenshot of the program running in a terminal. A report for students with surnames beginning with H is being viewed. Screenshot of the program running in a terminal. The user has asked for information about student #3, and their details have been printed.

Usage

Tested with Python 3.9 and 3.10. Will probably work with newer versions too. This project uses Poetry to manage Python libraries.

I've tested the program on Linux, Windows and Android, and it should support anything that can run Python. For the best experience, ensure your terminal supports colored and formatted text (ANSI color codes).

$ poetry install
$ poetry run python main.py

Alternatively, you can manually install the required Python libraries using pip.

Documentation

Libraries

This program uses a few libraries to provide functionality that I wouldn't want to implement myself, like password hashing and regular expression support.

  • bcrypt - Used for secure password storage with its password hashing features
  • regex - Provides regular expression functionality with more features than the built-in re module, which is important for implementing robust validation
  • colorama - Provides shorthands for terminal color codes, and makes sure they work on all platforms
  • phonenumbers - The de-facto standard library for parsing and validating (inter)national phone number formats. This lets the program accurately and consistently work with any phone number.

About

"Mr Leeman's System": A pupil management system for Tree Road School

Resources

Stars

Watchers

Forks

Packages

No packages published