bmeviauav42 / todoapp

Mikroszolgáltatás alapú alkalmazás az adatbáziskat, api gateway-t és Kubernetes telepítést bemutató anyagrészekhez

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

"To Do" alkalmazás mikroszolgáltatásokra építve

Labor célja

A labor célja bemutatni a mikroszolgáltatásokra épülő rendszerek esetében gyakran használt polyglot elvet: mikroszolgáltatásonként más-más platformot és nyelvet, valamint más adatbázis rendszer használunk. A szolgáltatásokat pedig egy API gateway fogja össze.

Előkövetelmények

Az alkalmazás teljes egészében platformfüggetlen. A fejlesztői környezet Visual Studio Code-ra épül, a szükséges eszközök:

  • Visual Studio Code
  • Visual Studio Code Remote - Containers extension
  • Docker WSL2 támogatással
  • Postman

Rendszer felépítése

A rendszer az alábbi mikroszolgáltatásokból épül fel:

  • todos: A teendőket kezelő alkalmazás, ASP.NET Core platformon, REST API-t biztosítva. Elasticsearch adatbázist és Redis cache-t használ.
  • web: React-ra épülő SPA webalkalmazás TypeScript-ben, NGINX webszerverrel kiszolgálva.
  • users: Felhasználókat kezelő alkalmazás Python-ban, MongoDB adatbázisra épülve REST API-t biztosít.
                   +----+     +-------+      +---------+
                   |    +---->+ todos +--+-->+ elastic |
+-----------+      |API |     +-------+  |   +---------+
|  browser  +----->+gate|                |
+-----------+      |way |                |   +---------+
                   |    |     +-------+  +-->|  redis  |
                   |    +---->+  web  |      +---------+
                   |    |     +-------+
                   |    |
                   |    |     +-------+      +---------+
                   |    +---->+ users +----->+ mongodb |
                   +----+     +-------+      +---------+

Futtatás

Visual Studio Code Remote Container

VS Code-ban az F1 menüben Remote Containers: Open Folder in Container, majd az alábbi mappák egyikét kell megnyitni, attól függően, hogy melyik szolgáltatást akarjuk debuggolni:

  • src/Todos a Todos nevű .NET alkalmazáshoz,
  • src/Users a Users nevű Python alkalmazáshoz.

Mindkettőben a Run and Debug panel alól elindítható a megfelelő debug profil, aminek hatására a .NET vagy a Python alkalmazás debug módban indul, míg a a többi konténer folyamatosan fut.

Konzolból

Az src könyvtárban az alábbi parancsokkal fordítható és indítható az alkalmazás:

docker-compose build
docker-compose up

URL-ek

Az egyes szolgáltatások az alábbi URL-eken érhetően el:


Az itt található oktatási segédanyagok a BMEVIAUAV42 tárgy hallgatóinak készültek. Az anyagok oly módú felhasználása, amely a tárgy oktatásához nem szorosan kapcsolódik, csak a szerző(k) és a forrás megjelölésével történhet.

Az anyagok a tárgy keretében oktatott kontextusban értelmezhetőek. Az anyagokért egyéb felhasználás esetén a szerző(k) felelősséget nem vállalnak.

About

Mikroszolgáltatás alapú alkalmazás az adatbáziskat, api gateway-t és Kubernetes telepítést bemutató anyagrészekhez

License:Other


Languages

Language:TypeScript 47.2%Language:C# 38.5%Language:Python 5.1%Language:Mustache 3.2%Language:HTML 2.8%Language:Dockerfile 2.3%Language:CSS 0.8%