Skip to content

This Project implements a university system where functionalities such as exam management, assignment uploads, lecture note downloads, and management of professors, students, and classes are provided.

License

Notifications You must be signed in to change notification settings

ashkanfrs/university

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

University System

A Spring Boot project demonstrating the use of Docker, Java, JUnit, RESTful APIs, Exception Handling, Object-Oriented Programming (OOP), Swagger, Integration Tests, Caffeine, Caching, and MySQL. This project does not include a front-end.

Features

  • RESTful APIs for university system operations
  • Exception handling
  • Object-Oriented Programming (OOP) principles
  • Integration tests with JUnit
  • API documentation with Swagger
  • Caching with Caffeine
  • Docker for containerization
  • MySQL for the database

Technologies Used

  • Spring Boot
  • Docker
  • Java
  • JUnit
  • RESTful APIs
  • Swagger
  • Caffeine
  • MySQL

Getting Started

Prerequisites

  • Java 11 or higher
  • Maven
  • Docker
  • MySQL

Installation

  1. Clone the repository:
    git clone https://github.com/ashkanfrs/university.git
  2. Navigate to the project directory:
    cd university
  3. Set up the MySQL database:
    CREATE DATABASE university;
  4. Update the application.properties file with your MySQL database credentials:
    spring.datasource.url=jdbc:mysql://localhost:3306/university
    spring.datasource.username=your-username
    spring.datasource.password=your-password
    
    spring.jpa.hibernate.ddl-auto=update
  5. Build the project:
    mvn clean install
  6. Run the application using Docker:
    docker build -t university-system .
    docker run -p 8080:8080 university-system

Usage

  1. The back-end server will start on http://localhost:8080.
  2. Use tools like Postman or curl to interact with the API endpoints.

API Documentation

API documentation is available via Swagger. Once the application is running, navigate to http://localhost:8080/swagger-ui.html to view and test the available endpoints.

Running Tests

To run the integration tests:

mvn test

About

This Project implements a university system where functionalities such as exam management, assignment uploads, lecture note downloads, and management of professors, students, and classes are provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published