Skip to content

A RESTful API for the application projectU, developed with Spring Boot, OpenAPI and MongoDB

License

Notifications You must be signed in to change notification settings

RonnyFalconeri/projectU_backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

projectU - Backend

Introduction

Did you ever had a good idea for a project? Only to forget about it a few days later? Of course you had. Well, its your lucky day because you just found projectU - perhabs the best project managing application in the market, and it's free!

This is the backend part of the application which forms the RESTful API and is developed with Spring Boot. Read here for more information about the frontend part and projectU itself.

HTTP Endpoints

Every HTTP Endpoint, Method, Response and Object is defined in this openapi.yml.

Technology Used

Spring Boot & MongoDB

The frontend makes requests to the projectU_backend which is a separate repository. The backend is developed with spring boot and it stores the data in a mongoDB database.

OpenApi Specification

The API was designed with the contract first approach using the OpenApi Specification. All the API endpoints with its parameters, responses, objects etc. are defined in a single file called openapi.yml which is shared between frontend and backend. With the openapi.yml the corresponding API client & server can be generated using OpenApi Generators.

Getting Started

Requirements

  • Java 11
  • maven
  • docker

Start MongoDB in Docker

docker-compose Access MongoDB in the browser with Mongo Express localhost:8082

Generate the API

Before compiling and starting the application you have to generate the necessary sources from the openapi.yml with the maven task:

maven clean compile