School Management API 
The backend API for a school management system accessible by staff and students.
About The Project
Originally started as a personal project to improve my overall Go knowledge and skills, driven by the complaints of my current school management system for students to view their grades, credits, course selections etc. I took this on as a full project to work on for my Software Engineering class and is now a staple of my work. I plan to work on this till completion, starting with this API, and then the front end, learning new tricks and languages along the way.
I highly recommend looking at the testing for schedule generation, version 3
Related Work
After the majority completion of vital api functionalities such as the ability to update information, create new information, generate information, delete information, authentication etc. I have created a new repository for the next frontier of this project. I am now concurrently working on the School Management Website.
The School Management Website. is going to be written using the Vue.js framework. Vue.js is a popular framwork for working on frontend UI
programs. I am currently unfamiliar with the framework but plan on learning the framework to use it more in the future.
Built With
Getting Started
The systems is easy to start and your local machine. Eliminating any long unforgiving configurations you may face in other software.
Installation
- Clone the repo
$ git clone https://github.com/SowinskiBraeden/school-management-api.git
$ cd school-management-api
- Rename
.env.exampleto.env
- Enter desired values into
.env
mongoURI='your mongo URI'
dbo=school
secret='your 256 bit secret'
PORT='your desired port'
SYSTEM_EMAIL='your system email'
SYSTEM_PASSWORD='your system email password'
- Run the system in your console
go run main.go
- The first time the API is run, you will be promted to enter in the systems defualt administrator account detials. This is required, in order to use majority of the API you'll need to be in an authenticated admin account.
- Build and compile the system into an executable
go build
Usage
The usage for this API is in the name, school management, it's not an easy task in the areas I live near. Overcrowded schools are far too common and the need for a better school management system is there. The current systems issued by the government work but are poor and outdated.
Contributing
Please refer to CONTRIBUTING for contributing to the project.
License
Distributed under the MIT License. See LICENSE for more information.
Contact
Braeden Sowinski - @BraedenSowinski - sowinskibraeden@gmail.com
Project Link: https://github.com/SowinskiBraeden/school-management-api