Skip to content

Latest commit

 

History

History
65 lines (47 loc) · 2.71 KB

README.md

File metadata and controls

65 lines (47 loc) · 2.71 KB

API server platform comparison research project

This repository is a part of "Performance comparison of development frameworks in selected environments in REST API architecture" research project.

Description

The purpose of the aforementioned paper is to compare the performance of development frameworks in selected environments in the REST API architecture. The comparative analysis was carried out based on five applications that were implemented based on the common OpenAPI specification.

The Laravel, ASP.NET, Django REST Framework, Express.js and Spring Boot development platforms have been selected as test subjects. All applications were connected to the same MySQL database.

List of applications implemented as a part of the project:

Getting Started

Dependencies

Installing & running

  1. Prepare .env file:
    cp .env.example .env
  2. Fill environmental variables in .env file.
  3. Using docker-compose:
    # one of below command
    docker compose -f laravel-api-server.prod.docker-compose.yml up -d
    docker compose -f aspnet-api-server.prod-azure.docker-compose.yml up -d
    docker compose -f django-api-server.prod.docker-compose.yml up -d
    docker compose -f express-api-server.prod.docker-compose.yml up -d
    docker compose -f spring-api-server.prod.docker-compose.yml up -d

Note: Database is running in violate mode, i.e. it will be reset to the default dataset after restart.

Note: If you would like to run docker-compose with non-violate database, use *.dev.docker-compose.yml instead *.prod.docker-compose.yml.

Stopping or resetting dataset

docker-compose -f docker-compose.prod.yml down -v

Database structure

student_data DB schema.png

Author

Mateusz Szewczyk

@GitHub