This is a school management system that is made for administrators to be able to add, remove, and edit data about users (teachers & studnents) with the help of a mySQL database in myPHPAdmin. It also alows teachers to add and grade assignments as well as allows students to submit their assignments and view their grades.
·
Report Bug
·
Request Feature
- About the Project
- Getting Started
- Features and Functionality
- Concept Process
- Development Process
- Final Outcome
- Conclusion
- License
- Contact
- Acknowledgements
Welcome to Tech Genius Academy! This website was built using php and mySQL database, it is similar to a varsity portal where teachers, students, and even admin have access to different pages and functionalities of the school website respectively. Admins are able to Add, Update, and Delete teachers, students, courses, and announcements. Teachers are able Add, Update, and Delete assignments as well as grade submissions. Students are able to Submit and Delete Assignments as well as view their marked assignments.
These instructions will help you get your copy of the project up and running on your local machine for development and testing purposes.
For development, you will need to install XAMP so you can access the database via myPHPadmin. You must also be familiar withmySQL XAMP
Here are a couple of ways to clone this repo:
-
GitHub Desktop
Enterhttps://github.com/TshwetsoMo/tga.git
into the URL field and press theClone
button. -
Clone Repository
Run the following in the command-line to clone the project:git clone https://github.com/TshwetsoMo/tga.git
-
Run XAMP
- Start up the XAMP software.
- Under the actions column, press 'Start' for Apache and MySQL
- Once they start running you my press 'Admin' next to My SQL. This will take you to the database.
- once in the database you'll have to create a new database by navigating the left side navbar.
- once you have created a empty database, you will have to import the sql file that is in the code into the database.
- Once you've successfully imported the sql file the database should fill up with data that you will have access too via your code.
I went with a minimalistic design that would be easy on the eyes but at the same time still prioritises the display of the text. Tech Genius Academy is a school website that is there to make life easier for all the users (Admins, Students, and Teachers) The process that i took for this project was that or trial and error as well as exploring other similar works and tryinhg to learn from what others have done while making my own project unique. Most of the focus was on functionality.
The Development Process
is the technical implementations and functionality done for the app.
-
I used
Apache
andMySQL
via theXAMP
software to initialize and create the database. I used Reactjs, HTML, CSS, alongside PHP to create this PHP project. I implemented component-based development instead of classes. By doing this, I will be able to easily import and export components and sub-components into different parts of my project, making it more efficient. -
I used bootstrap5 to style my project as well as custom css on top of that. I also made use of inline styling and including a style section in the header of the DOC files.
stipulated the highlight you experienced with the project
- A very big high obstacle was getiing my login page to work, i realised later that it was a matter of specifiying which columns in the data tables are Primary and Foreign keys.
- I had to start again with 2 weeks left of the term due to a XAMP software malfunction that caused me to lose my data, but upon starting over again i realised it was much easier and took less time to make progress than the first 6 weeks i had to do it.
- Getting my CRUD functionality working on multiple entities in the data.
- The website being fully responsive
stipulated the challenges you faced with the project and why you think you faced it or how you think you'll solve it (if not solved)
-
The largest issue I had was creating the database correctly. Given that the database serves as the foundation of the whole project it was impossible to make progress without first perfecting the database structure (This really emphasised the importance of our ER diagrams for me). It was also a mission trying to avoid all the many-to-many relationships in the database by creating extra entities to handle the load.
-
getting my layout correct was also an issue but I managed to solve the issue by sizing and positioning entities in a specific manner so that they do not overlap.
-
Getting my CRUD functionality to work on my database.
-
Time management was also an issue that i had but luckily i was able to increase my effort towards the end when the fear of failure got closer.
-
Something I unfortunately could not implement because of time restrictions was the registration page. I left if for last because from my understanding a school management system is for people that have already been put in the database not for students and teachers to register for the school in.
stipulate functionality and improvements that can be implemented in the future.
-
I will ensure to create an all the extra main pages that are mentioned in the navbar. Most of the things i am being tested on are on the dashboards of all users so i didnt have a need for the main pages just yet.
-
I want to work more on the frontend. Make it look more sleek and futuristic.
See the open issues for a list of proposed features (and known issues).
- Tshwetso Mokgatlhe - Github
Distributed under the MIT License. See LICENSE
for more information.\
Tshwetso Mokgatlhe - Personal emailSchool Email - GitHub
- Project Link - https://github.com/TshwetsoMo/tga.git