Menu Close

A fullstack application for managing a kindergarten

A fullstack application for managing a kindergarten

Kindergarten Management System


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.


Clone the repository:

 git clone


Install the dependencies

npm install

starting react server

 npm start


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


  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.


  • Student management (add, edit, delete)

  • Teacher management (add, edit, delete)

  • Attendance tracking


  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.


  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.


    MIT License


    Go Back to the Top


    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!


    Live Backend Link

    Frontend Deployment

    Go Back to the Top

    View Source Code
    Posted in ReactJs, Ruby on Rails, Tailwind CSS