https://github.com/immachakata/fees-man
Basic fees management program written in C#
https://github.com/immachakata/fees-man
csharp csharp-app fees-management windows-forms-application windows-forms-csharp
Last synced: 7 days ago
JSON representation
Basic fees management program written in C#
- Host: GitHub
- URL: https://github.com/immachakata/fees-man
- Owner: im-machakata
- Created: 2023-04-21T01:15:08.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-05T11:12:03.000Z (about 3 years ago)
- Last Synced: 2025-01-03T22:15:44.428Z (over 1 year ago)
- Topics: csharp, csharp-app, fees-management, windows-forms-application, windows-forms-csharp
- Language: C#
- Homepage:
- Size: 826 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: .github/README.md
Awesome Lists containing this project
README
# Fees Management

**DISCLAIMER:** While most of the basic features are working, there is still room for improvements.
## About App
Simple login and reports generation for a single student, an entire class or the entire school when requested.
## Getting Started
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.
## Login Accounts
Logins have been hardcoded into the `Config.cs` file. You can use the following accounts to login.
Username|Password
--|--
block2023|2023
## Students Accounts
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.
## Folder Structure
The projects contains two types of folders – GitHub and System folders.
### Github Files
Folder | Description
---|---
.github | Contains github configuration files (including this **README.md** file) and is safe to delete.
### System Files
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
## How it works
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:
```cs
/**
*********************************
* file: Reports.cs
*********************************
* School is a class
* defined in the Models folder
*/
/** initialize : this is like the database **/
public Dictionary Schools = new Dictionary();
/** 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.
## Issues & Impovements
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.
## Icons Used
All icons in this project were downloaded from [icons8](//Icons8.com)