Skip to content

dyno-dr/ProjectTimeTable

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

OopsMyClass 🎓

A modern class scheduling and management system for educational institutions

OopsMyClass

📌 About

OopsMyClass is a comprehensive web application designed to streamline the management of academic resources, scheduling, and interactions between administrators, faculty members, and students. Built with flexibility and ease of use in mind, OopsMyClass helps educational institutions optimize their operations and improve the learning experience.

✨ Features

For Administrators

  • Manage faculty and student accounts
  • Create and assign courses to faculty members
  • Allocate appropriate classrooms based on course requirements
  • Generate comprehensive timetables for the entire institution
  • Monitor classroom usage and availability
  • Handle class cancellations and scheduling changes
  • View analytics and reports on resource utilization

For Faculty

  • View assigned courses and teaching schedule
  • Access course rosters and student information
  • Manage course timings and locations
  • Request schedule changes or cancellations
  • Update course status and information
  • Track teaching history and workload

For Students

  • Browse available courses and faculty
  • Select and register for courses
  • View personalized timetables
  • Receive notifications about schedule changes
  • Request course changes or cancellations
  • Track academic progress and course history

🔧 Tech Stack

  • Frontend: React.js, Tailwind CSS
  • Backend: Node.js, Express
  • Database: MongoDB
  • Authentication: JWT, OAuth2
  • Deployment: Docker, AWS/Azure

📋 Installation Guide

Prerequisites

  • Node.js (v14 or higher)
  • MongoDB (v4.4 or higher)
  • npm or yarn

Setup Instructions

  1. Clone the repository

    git clone https://github.com/your-org/oopsmyclass.git
    cd oopsmyclass
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Set up environment variables

    cp .env.example .env
    # Edit .env with your database credentials and other settings
  4. Run database migrations

    npm run migrate
    # or
    yarn migrate
  5. Start the development server

    npm run dev
    # or
    yarn dev
  6. Access the application Open your browser and navigate to http://localhost:3000

🚀 Deployment

Docker Deployment

# Build the Docker image
docker build -t oopsmyclass .

# Run the container
docker run -p 3000:3000 -d oopsmyclass

Production Build

npm run build
npm start

📊 Data Model

OopsMyClass is built around five core entities that interact to provide a seamless scheduling experience:

  • Admin: System administrators who manage the platform
  • Faculty: Academic staff who teach courses
  • Student: Learners who attend courses
  • Course: Academic units taught by faculty
  • Classroom: Physical or virtual spaces where courses are conducted

🔄 API Documentation

API documentation is available at /api/docs when running the application. It includes all endpoints, request/response formats, and authentication requirements.

🤝 Contributing

We welcome contributions from the community! Please check our Contributing Guidelines for more information on how to get involved.

📄 License

OopsMyClass is licensed under the MIT License - see the LICENSE file for details.

📞 Support

For support, please email support@oopsmyclass.edu or open an issue on our GitHub repository.


Built with ❤️ by the OopsMyClass Team

About

This project is done for Hackathon organised by FOSS club NIT py

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 57.7%
  • CSS 35.1%
  • HTML 7.2%