https://github.com/heintayzar-hm/java-assi
https://github.com/heintayzar-hm/java-assi
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/heintayzar-hm/java-assi
- Owner: heintayzar-hm
- License: mit
- Created: 2023-12-07T17:17:42.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-07T17:23:26.000Z (over 1 year ago)
- Last Synced: 2025-02-07T23:46:00.310Z (4 months ago)
- Language: Java
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
Student Management System
This project, named "StudentManagement" is a console-based application for managing student information. It includes classes for Student, ValidationUtils, and StudentManagement. The program allows users, through the AdministratorInterface, to add, update, view all, or view details of a specific student. Student data is stored in a file ("students.txt") and loaded upon program execution, demonstrating basic file I/O operations and input validation using static methods in the ValidationUtils class.
Explore the docs »
Table of Contents
## About The Project
This project, named "StudentManagement" is a console-based application for managing student information. It includes classes for Student, ValidationUtils, and StudentManagement. The program allows users, through the AdministratorInterface, to add, update, view all, or view details of a specific student. Student data is stored in a file ("students.txt") and loaded upon program execution, demonstrating basic file I/O operations and input validation using static methods in the ValidationUtils class.### Built With
This project is built using:
* [Java](https://www.java.com/en/)
## Getting Started
Please clone this repo or copy the code from AdministratorInterface.java### Prerequisites
You have to install the java or a code editor. Please refer to the official [java doc](https://www.java.com/en/) for more details
### Installation
There is no additional installation required.
## Usage
You have to run the project depending on the editor you use.
- All the students will be written inside the students.txt file and you might need to give write access depending on your os.
- You can see the view:

- as we can see, you can add, edit, and view students.
- We have predefined all the necessary validations like name length, and age. But you can also change them inside the class of the file, "ValidationUtils", you can see some variables and they are self-explanatory.
- If your terminal supports ASCII, you will be able to see color depending on your type.## Code Usage
- We have four classes in this project
- Student Model class, responsible for a model of a student, you can define static classes for getting a student information or finding a student
- ValidationUtils class, responsible for type checking and user validation inputs, the static methods inside responsibility is type checking or validation, if fails, the methods will return static variable Error code.
- StudentManagement class, responsible for file loading and saving data updating data, or viewing data that will link with the main class, AdministratorInterface. It will load the file when starting the application using static block and save the data after every data change like update, or add.
- AdministratorInterface class, responsible for main user interface, in some ways middleware and route combination in MVC pattern. It will print the user console with available options, and routes. after the user chooses it will link to static methods inside the class. The methods are responsible for getting necessary data and validating them using validation class, a middleware, and linking to the correct method in StudentManagement, a controller.So you can think like this in the MVC pattern,
AdministratorInterface class: middleware and routing
StudentManagement class: controller
Student Model class: model
ValidationUtils class: a helper middleware class## Acknowledgments