DISCLAIMER: While most of the basic features are working, there is still room for improvements.
Simple login and reports generation for a single student, an entire class or the entire school when requested.
To get started, add a list of students manually in the Reports.cs code (found in Views folder) in the LoadStudents()
function. From there, you can add the student details as well as their fees arreas.
Logins have been hardcoded into the Config.cs
file. You can use the following accounts to login.
Username | Password |
---|---|
block2023 | 2023 |
By default there are two predefined student accounts as in the Reports.cs
Name | Surname | Balance |
---|---|---|
John | Doe | 200 |
Mary | Doe | random |
John | Deere | random |
NB: The system is case-sensitive when searching for the acount balances of these students.
The projects contains two types of folders – GitHub and System folders.
Folder | Description |
---|---|
.github | Contains github configuration files (including this README.md file) and is safe to delete. |
These are the files in the FeesManagement directory
Folder | Description |
---|---|
Components | Contains all the custom designs |
Properties | Automatically created with SharpDevelop |
Utils | Contains custom utility functions that help with validation |
Views | This is where all views are kept |
The system does not make use of an SQL Database but rather stores it's data temporarily in memory using Lists and Dictionaries.
Lists can be described as 1D Arrays of one type while Dictionaries are Objects that map data using a unique.
These data types have been initialized in the Reports form under Views and they look something like this:
/**
*********************************
* file: Reports.cs
*********************************
* School is a class
* defined in the Models folder
*/
/** initialize : this is like the database **/
public Dictionary<string,School> Schools = new Dictionary<string,School>();
/** create a new school **/
CreateSchool("School Name");
/** add a new student **/
AddStudent("Mary","Doe",1,"Junior High");
AddStudent("John","Doe",1,"Junior High",200);
Custom functionality for searching students has been written in the (Schools) models file(s) in a less confusing way though it can be refactored.
Since the data is stored in memory, it is resetted every time the application is restarted. To fix this, we need to use a persistent database.
All icons in this project were downloaded from icons8