This repository is a part of "Performance comparison of development frameworks in selected environments in REST API architecture" research project.
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:
- Laravel API server
- ASP.NET API server
- Django REST Framework API server
- Express.js API server
- Spring Boot API server
- Frameworks:
- Database:
- Prepare
.env
file:cp .env.example .env
- Fill environmental variables in
.env
file. - 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
.
docker-compose -f docker-compose.prod.yml down -v
Mateusz Szewczyk