Skip to content

Application to manage software projects implemented in microservices on different programming platforms

License

Notifications You must be signed in to change notification settings

an4xdev/MicroServiceApp

Repository files navigation

Software project management system implemented in microservices on different programming platforms

Used technologies

  • C# - ASP.NET Core
  • Java - Spring Boot
  • Python - FastAPI
  • JavaScript - Express.js
  • Go
  • PHP - Laravel
  • Vue.js
  • Docker
  • PostgreSQL
  • Redis
  • RabbitMQ
  • MinIO

Status

IN DEVELOPMENT

Quick start

docker-compose up --build -d

Api Gateway OpenAPI documentation is available at here.

Development Tips

HTTPS Api Gateway

Follow Microsoft documentation

Automatic migrations

Migrations are managed by DatabaseService which is using objects from SharedObjects project. It is checking for the latest migration and applying it to the database.

Automatic model generation from database

NOTE
For Spring project I used Intellij IDEA option from Database tab.

NOTE
For FastAPI project I hand wrote models based on the database schema. But got inspired by models that were generated via sqlacodegen.

Requirements

Usage

To automatically generate models from database, you can use the following command:

# For Windows
models.bat
# For Linux !!! NOT TESTED !!!
chmod +x models.sh
./models.sh

Signing Token for JWT

To generate a signing token for JWT, you can use the following command (or leave my token in the appsettings.json files):

cd key_generator
python main.py

Modify the appsettings.json files in the ApiGateway and AuthService projects to use the generated token.

Licenses

Third party libraries are licensed under their respective licenses see third-party-licenses directory for details.