======Semestral Project ====== V rámci vaší semestralní práce utvoříte pracovní skupinu, která bude složena maximálně ze 5 studentů. Hlavní smysl semestrální práce je využití architektonických stylů, design patternů nebo distribuovaných algoritmů. Ukázka témat zde: * distribuovaný algoritmus - fakturace * microservice - eshop podle zateze... * pipes and filters ...email klient (producent nebo konzument) * monolitická aplikace s loadbalancerem + nějaká optimalizace * event driven rozdělení datového modulu na read a write operace * ... Výstup této pracovní skupiny bude: 1. odevzdavani semestralky (jen dokument do brute) **9.cviceni** * Popis aplikace, motivace * Funkční požadavky * Nefunkční požadavky * Seznam uživatelů * Případy užití * UML diagramy - class diagram, sequence diagram, component diagram - s popisem * Vyber vhodne architektury (arch. styl) ukázky zde: TODO 2. odevzdavani semestralky (dokument + aplikace) * vyber vhodne technologie a jazyka: Java/SpringBoot, Java, C#, … (povinné) * readme v gitu s popisem co je hotove a kde se funkcionalita nachazi (povinné) * vyuziti DB (relacni nebo grafova) (povinné) * vyuziti cache (napriklad Hazelcast) (volitelné -2b pokud není) * vyuziti messaging principu (Kafka nebo JMS) (volitelné -2b pokud není) * aplikace bude zabezpecena pomoci bud basic authorization nebo pomoci OAuth2 (volitelné -2b pokud není) * vyuziti Inteceptors (alespon jedna trida) - napriklad na logovani (prijde request a zapiseme ho do logu) (volitelné -2b pokud není) * vyuziti jedne z technologie: SOAP, REST, graphQL, Java RMI, Corba, XML-RPC (volitelné -2b pokud není) * nasazeni na produkcni server napriklad Heroku (nepovinné +2) * vyber vhodne architektury (event base, pipe and filter, …) (povinné) * inicializacni postup (jak aplikaci deploynout, kde jsou zakladni data do nove DB typu admin apod)(povinné) * vyuziti elasticsearch (volitelné -2b pokud není) * pouziti alespon 5 design patternu (musi davat smysl :) ) (povinné) * za kazdeho clena tymu 2 UC (use cases - aby SW nebyl trivialni) (povinné) bonusove body * cloud sluzby ukázky zde: * Chang roberts{{ :courses:b6b36nss:project:chang_roberts.zip |}} * Microservice{{ :courses:b6b36nss:project:microservices.zip |}} === Note === Váš cvicící musí být v době prvního odevzdání již přidát do týmu na vašem GITu === Požadavky=== -SW je zanalyzován a na základě této analýzy vyvinut -SW je v průběhu semestru verzovaný: https://gitlab.fel.cvut.cz/ - je tedy možné dohledat, kdo co dělal. Verzování probíhá pravidelně. -Výsledný SW je nasazen v produkčním prostředí. -Výsledný SW splňuje požadavky z analýzy. -Výsledný SW používá vhodné návrhové vzory a vhodnou technologii. === SW k použití === UML software: - enterprise architect: https://moodle.fel.cvut.cz/mod/quiz/view.php?id=34153 - opensource: http://argouml.tigris.org/ Springboot template monolitic app: - {{ :courses:b6b36nss:project:example-master.zip |}} ===Teams === https://docs.google.com/spreadsheets/d/1EOk7WVTaxEe0VAJPFpzshxRKu1LhHWqSZO7tL50ss_o/edit?gid=813708406#gid=813708406