Skip to content

This project is a full stack 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.

Notifications You must be signed in to change notification settings

Gracelaura/kindergarten-management-system-frontend

Repository files navigation

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

  1. Reactjs
  2. Ruby on Rails
  3. 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

  1. Create an admin account by signing up on the login page.

  2. Use the admin dashboard to manage students and teachers.

  3. 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

  1. Grace Njuguna

  2. Nicholas Njeru

  3. Ronald Kipchirhir

  4. Timothy Kibet

  5. Ivan Nguyo

  6. Geofry Nyakundi

  7. Muriithi Kibata

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

  1. Authentication – login /sign up page.
  2. Landing page.
  3. Admin(teacher) and Parents Dashboard.
  4. Student details card.
  5. Attendance
  6. Disciplinary cases

User Stories

  • A teacher gets logged in as an admin while a parent loins as a normal user.
  • A Landing page that displays a welcome message.
  • A page that displays a teacher’s dashboard.
  • A Page that displays a parent’s dashboard.
  • The option for a teacher to add or delete a new student including the parent’s contact information.
  • The option for a teacher to view a student’s information.
  • The option for a teacher to promote a student to the next class.
  • The option for a teacher take attendance and view attendance.
  • The option for a parent to view their child’s attendance and discipline.
  • 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

    teacher dashboard

    or to parent's dashboard logged in as a parent.

    parent dashboard

    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

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
    
    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
    
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>

    Go Back to the Top

    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

    Go Back to the Top

    About

    This project is a full stack 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.

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published