Kindergarten Management System
Overview
This project is a fullstack application for managing a kindergarten. It includes two dashboards: an admin dashboard and a parent dashboard. The application allows for the management of students, teachers, and parents, as well as tracking attendance.
Getting Started
Tecnologies used
- Reactjs
- Ruby on Rails
- AWS Deployment
## Prerequisites
Ensure you have ruby version(2.7.4, 3.0.2) and Nodejs installed in your machine(pc,laptop)
Run: npm install to install all the dependencies.
Installation
Clone the repository:
git clone https://github.com/Gracelaura/kindergarten-management-system-frontend.git
Frontend
Install the dependencies
npm install
starting react server
npm start
Backend
installing ruby gems
Bundle install
Run the command below to run pending migrations and seed data
Rails db:migrate db:reset
Starting up the server
Rails s
4.The application will be available at http://localhost:4000
Usage
-
Create an admin account by signing up on the login page.
-
Use the admin dashboard to manage students and teachers.
-
Use the parent dashboard to view attendance and reports for their child.
Features
-
Student management (add, edit, delete)
-
Teacher management (add, edit, delete)
-
Attendance tracking
Contributers
Links to repositories
Technologies and Tools
- HTML – to structure our forms
- React – for Client side rendering and routing
- Rails – for developing backend API
- Custom API
- Tailwind CSS and custom css – for styling our application.
- JWT for authenticating users.
- Railway or AWS for hosting the server.
- Netlifly for client hosting.
MVPS
- Authentication – login /sign up page.
- Landing page.
- Admin(teacher) and Parents Dashboard.
- Student details card.
- Attendance
- Disciplinary cases
User Stories
How it works
After a successful launch, the user is redirected to a home page
From homepage a user will have to login either as a teacher or a parent.
Upon a successful Login, You will be redirected to admin dashboard logged in as a teacher
or to parent’s dashboard logged in as a parent.
From there a teacher is able to track attendence of a kid, view a list of classes, view names of the parents, view students discipline and also his/her profile
A parent is able to view kidlist, his/her own kid displinary issues and also his/her own profile.
Support or Contribution
Want to contribute? Great!
For any suggestions or contributions please do not hesitate to contact the owners of this repository.
Contributions to this project are welcomed by all, If you need to contribute
please contact us send your github profile to be allowed access.
- Fork the repo
- Create a new branch (git checkout -b improve-feature)
- Make the appropriate changes in the files
- Add changes to reflect the changes made
- Commit your changes (git commit -am ‘Improve feature’)
- Push to the branch (git push origin improve-feature)
- Create a Pull Request
-Note when making contributions, please endeavour to follow good coding practice.
License
MIT License
Acknowledgements
We would like to express our heartfelt gratitude to Daniel Karanja , for his invaluable guidance and support throughout this project. His insights and expertise were instrumental in ensuring the success of this endeavor. We also want to thank thim for his constant follow-ups and encouragement, which helped us stay on track and motivated. We are deeply grateful to have had the opportunity to work with him. Thank you, Daniel Karanja!
Others
Live Backend Link http://35.172.230.181:3000
Frontend Deployment http://35.172.230.181:4000