GithubHelp home page GithubHelp logo

bmeviauav42 / todoapp Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 11.0 249 KB

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

License: Other

C# 38.53% Dockerfile 2.31% Python 5.09% HTML 2.84% TypeScript 47.20% CSS 0.80% Mustache 3.23%

todoapp's Introduction

"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.

todoapp's People

Contributors

akosdudas avatar tibitoth avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.