Projekt se skládá z:
Le Tobias
Jakub Najman
Adam Schuppler
Le Vanessa
- Clone the repository
- Navigate to the project root directory
- Run 'mvn clean install' in the root directory
- if mvn clean install does not work, try running mvn idea:idea
- viz https://stackoverflow.com/questions/15213923/maven-package-does-not-exist
- Run
docker-compose up - Run 'npm ci' in the /frontend directory
- Run 'npm run dev' in the /frontend directory
- Start the chat application and any other component you want to use (bear the dependencies of the components in mind)
| Požadavek | Použití |
|---|---|
| Vhodná technologie | Java, Spring Boot, React |
| Společná DB | PostgreSQL pro uživatele, MongoDB pro uživatelské detaily, Elasticsearch pro události v chatu |
| Cache | @Cacheable (getUserByUserid v UsersService.java) - pro cachování dat o uživatelích |
| Messaging princip | Kafka na události v chatu |
| Security | Autorizace přes JSON webtoken (viz api gateway) |
| Interceptors | Security (viz modul API Gateway) |
| REST | Komunikace mezi moduly |
| Výběr vhodné architektury | Model driven architecture (viz dokumentace) |
| Inicializační postup | Viz výše |
| Využití elasticsearch | Ano (ukládání událostí z chatu, ukládání logů) |
| Použití alespoň 5 design patternu | -Producer (KafkaChatMessageProducerService), consumer (KafkaChatListenerService), inversion of control (throughout the project - java), dependency injection (throughout the project - java), fasáda (UserEntityDto), proxy (ChatController), ad. |
| Za každého člena týmu 2 UC | Ano (viz dokumentace) |