Skip to content

Java + Spring web application with dashboard for managing whole University from one place.

Notifications You must be signed in to change notification settings

lyingparachute/Classroom

Repository files navigation

Classroom

Web application for classroom management.

Classroom is a powerful tool that enables universities to manage their academic operations from a single, centralized platform, providing an efficient and effective solution for academic management.

It is a comprehensive web application developed using Java and Spring framework, designed to provide a centralized management system for universities. With Classroom, students, teachers, and deans can login to their respective accounts and access a wide range of functionalities to efficiently manage academic activities. The application is specifically designed to streamline and simplify administrative tasks.

Feature ideas:

  • course scheduling,
  • grade tracking,
  • attendance management,
  • assignment submission,
  • chat for students to interact with teachers and peers, allowing them to collaborate on projects, discuss coursework, and receive feedback.

HOW TO RUN APP LOCALLY:

1. Clone the project

  git clone https://github.com/lyingparachute/Classroom.git

Go to project directory

  cd classroom

2. Build project and perform tests

  • Open terminal in project directory
  • Type: mvn clean install -DskipTests

3. Start application server with docker-compose

docker-compose up --build

note - it might take a while to pull and build docker images

  • go to endpoints and test app:

  • Finish running app

    press CTRL+C
    

4. Run app - second time

  • START APP
    docker-compose start
  • STOP APP
    docker-compose stop
  • REMOVE NETWORK
    docker-compose down

Alternative way of running app locally

Create docker image and run project with IntelliJ:

docker run -p 3307:3306 --name mysql -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=classroom --rm -d mysql

HOW TO USE APP:

Create new account

  • Register using email and password

  • Sign In to the dashboard and use app

    OR

Use already existing accounts

  1. Student account:
  • Login: student
  • Password: student
  1. Teacher account:
  • Login: teacher
  • Password: teacher
  1. Dean account:
  • Login: dean
  • Password: dean
  1. Admin account:
  • Login: admin
  • Password: admin