A fullstack application for managing a kindergarten

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

Built with

  • Reactjs
  • Ruby on Rails
  • Prerequisites

    Ensure you have ruby version(2.7.4, 3.0.0) and Nodejs installed in your machine(pc,laptop)

    Run: npm install to install all the dependencies.

    Installation

    1. Clone the repository: git clone https://github.com/Gracelaura/kindergarten-management-system-frontend.git

    2. Install the dependencies: npm install

    3. Start the server: npm start

    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

    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.

    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

    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

    Copyright (c) [2023] [Ronald Kipchirchir]

    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.

    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

    LinkedIn – Ronald Kipchirchir

    Twitter – @Ronaah_254

    Go Back to the Top

    GitHub

    View Github