Skip to content

Laxman67/SchoolCool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SchoolCool

Sure, here's the README.md file including detailed API endpoints:

# MERN Stack Application

This project is a comprehensive MERN (MongoDB, Express, React, Node.js) stack application designed to manage students, staff, attendance, courses, and resources efficiently. The application exposes a set of RESTful API endpoints to perform CRUD operations on these entities.

## Table of Contents

- [Overview](#overview)
- [Installation](#installation)
- [Usage](#usage)
- [API Endpoints](#api-endpoints)
  - [Student](#student)
  - [Staff](#staff)
  - [Attendance](#attendance)
  - [Courses](#courses)
  - [Resources](#resources)
- [Contributing](#contributing)
- [License](#license)

## Overview

This MERN stack application is designed to streamline the management of various entities within an educational environment. The backend is built with Node.js and Express, and it interfaces with a MongoDB database. The frontend is developed using React, providing a seamless and intuitive user interface.

## Installation

To get started with this project, follow these steps:

1. **Clone the repository:**
   ```bash
   git clone https://github.com/your-username/your-repo-name.git
  1. Navigate to the project directory:

    cd your-repo-name
  2. Install server dependencies:

    npm install
  3. Navigate to the client directory and install client dependencies:

    cd client
    npm install
  4. Go back to the root directory and create a .env file for environment variables:

    cd ..
    touch .env
  5. Add the following environment variables to the .env file:

    MONGO_URI=your-mongodb-uri
    PORT=5000
    
  6. Start the development server:

    npm run dev

Usage

Once the server is running, you can access the application through your browser at https://localhost:3000.

API Endpoints

Student

  • GET /api/v1/students

    • Description: Get all students
    • Example: curl -X GET https://localhost:5000/api/v1/students
  • GET /api/v1/students/:id

    • Description: Get student by ID
    • Example: curl -X GET https://localhost:5000/api/v1/students/12345
  • POST /api/v1/students

    • Description: Create a new student
    • Example: curl -X POST -H "Content-Type: application/json" -d '{"name": "John Doe", "age": 21}' https://localhost:5000/api/v1/students
  • PATCH /api/v1/students/:id

    • Description: Update student by ID
    • Example: curl -X PATCH -H "Content-Type: application/json" -d '{"name": "Jane Doe"}' https://localhost:5000/api/v1/students/12345
  • DELETE /api/v1/students/:id

    • Description: Delete student by ID
    • Example: curl -X DELETE https://localhost:5000/api/v1/students/12345

Staff

  • GET /api/v1/staff

    • Description: Get all staff members
    • Example: curl -X GET https://localhost:5000/api/v1/staff
  • GET /api/v1/staff/:id

    • Description: Get staff member by ID
    • Example: curl -X GET https://localhost:5000/api/v1/staff/12345
  • POST /api/v1/staff

    • Description: Create a new staff member
    • Example: curl -X POST -H "Content-Type: application/json" -d '{"name": "John Smith", "position": "Teacher"}' https://localhost:5000/api/v1/staff
  • PATCH /api/v1/staff/:id

    • Description: Update staff member by ID
    • Example: curl -X PATCH -H "Content-Type: application/json" -d '{"position": "Head Teacher"}' https://localhost:5000/api/v1/staff/12345
  • DELETE /api/v1/staff/:id

    • Description: Delete staff member by ID
    • Example: curl -X DELETE https://localhost:5000/api/v1/staff/12345

Attendance

  • GET /api/v1/attendance

    • Description: Get all attendance records
    • Example: curl -X GET https://localhost:5000/api/v1/attendance
  • GET /api/v1/attendance/:id

    • Description: Get attendance record by ID
    • Example: curl -X GET https://localhost:5000/api/v1/attendance/12345
  • POST /api/v1/attendance

    • Description: Create a new attendance record
    • Example: curl -X POST -H "Content-Type: application/json" -d '{"studentId": "123", "date": "2023-01-01"}' https://localhost:5000/api/v1/attendance
  • PATCH /api/v1/attendance/:id

    • Description: Update attendance record by ID
    • Example: curl -X PATCH -H "Content-Type: application/json" -d '{"status": "Present"}' https://localhost:5000/api/v1/attendance/12345
  • DELETE /api/v1/attendance/:id

    • Description: Delete attendance record by ID
    • Example: curl -X DELETE https://localhost:5000/api/v1/attendance/12345

Courses

  • GET /api/v1/courses

    • Description: Get all courses
    • Example: curl -X GET https://localhost:5000/api/v1/courses
  • GET /api/v1/courses/:id

    • Description: Get course by ID
    • Example: curl -X GET https://localhost:5000/api/v1/courses/12345
  • POST /api/v1/courses

    • Description: Create a new course
    • Example: curl -X POST -H "Content-Type: application/json" -d '{"title": "Mathematics 101"}' https://localhost:5000/api/v1/courses
  • PATCH /api/v1/courses/:id

    • Description: Update course by ID
    • Example: curl -X PATCH -H "Content-Type: application/json" -d '{"title": "Advanced Mathematics"}' https://localhost:5000/api/v1/courses/12345
  • DELETE /api/v1/courses/:id

    • Description: Delete course by ID
    • Example: curl -X DELETE https://localhost:5000/api/v1/courses/12345

Resources

  • GET /api/v1/resources

    • Description: Get all resources
    • Example: curl -X GET https://localhost:5000/api/v1/resources
  • GET /api/v1/resources/:id

    • Description: Get resource by ID
    • Example: curl -X GET https://localhost:5000/api/v1/resources/12345
  • POST /api/v1/resources

    • Description: Create a new resource
    • Example: curl -X POST -H "Content-Type: application/json" -d '{"name": "Textbook"}' https://localhost:5000/api/v1/resources
  • PATCH /api/v1/resources/:id

    • Description: Update resource by ID
    • Example: curl -X PATCH -H "Content-Type: application/json" -d '{"name": "Advanced Textbook"}' https://localhost:5000/api/v1/resources/12345
  • DELETE /api/v1/resources/:id

    • Description: Delete resource by ID
    • Example: curl -X DELETE https://localhost:5000/api/v1/resources/12345

Contributing

Contributions are welcome! Please submit a pull request or open an issue to discuss any changes.

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published