Co?
Co będziemy robić? Pojekty w grupach ok. 5-cio osobowych, realizować projekty w stylu: Nokia innovative projects, projekty realizowane z firmą Identt, bądź Wasze pomysły na dowolny temat.
Po co?
Zajęcia mają służyć nauczeniu się:
- przydatnych technologii wspomagających tworzenie złożonych systemów: git, ci, docker, OpenAPI (Swagger), kubernetes
- metodologii realizacji projektów (np. scrum)
- metodologii projektowania Design Thinking
- wybranych (przez Was) frameworków/języków/technologii/...
- no i... pracy w zespole
Zadanie nr 1 [do 6 X]
(do samodzielnej realizacji)
- załóż konto w serwisie github (lub oferującym podobne funkcje), naucz się podstawowych komend git (zrozum po co one są i jakie potencjalne problemy rozwiązują)
- dowiedz się, czym jest REST API
- zapoznaj się z formatem json oraz z JWT (JSON Web Tokens)
- zapoznaj się z OpenAPI
- stwórz dokumentację serwisu który realizuje funkcje kalkulatora (wykorzystujący yaml)
Zadanie nr 2 [do 14 XI]
Każda grupa ma przesłać opis projektu obejmujący:
- szczegółowego opis wymagań systemu
- opis funkcjonalności
- harmonogram prac
- podział zadań
- określenie przyjętej metodologii realizacji projektu (...
- opis wykorzystywanych technologii (języków programowania, frameworków, technologii...)
- link do repozytorium (github)
- link do wykorzystywanego systemu zarządzania projektem
Zadanie nr 3 [do 21 XI]
(do samodzielnej realizacji)
- wygeneruj klienta serwisu (za pomocą narzędzi oferowanych przez OpenAPI) (i umieść na swoim koncie w serwisie github)
- przygotuj serwer obsługujący zapytania (wykorzystaj np. Flask)
Zadanie nr 4 [do 28 XI]
(do samodzielnej realizacji)
- przygotuj obraz docker'owy dla Twojego projektu serwera
Zadanie nr 5 [5 XII]
Przygotujcie:
- plik swagger.yaml definiujący API,
- wygenerujcie serwer (w wybranym frameworku/języku) i uruchomcie go z danymi testowymi.
Zadanie nr 6 [12 XII]
Należy przygotować diagramy UML:
- Use Case Diagram
- Sequence Diagram
- Communication Diagram
- Activity/State Machine Diagram
Zadanie nr 7 [19 XII]
Prezentacja wersji Alfa
Zadanie nr 8 [9 I]
Prezentacja wersji Beta
Zadanie nr 9 [23 I]
Prezentacja wersji finalnej
- Po co mam zakładać konto na Githubie?
- : System kontroli wersji jest podstawowym narzędziem wspomagającym rozwój oprogramowania. Poza tym: “Moreover, github.com is now the world’s largest and most dynamic repository of open-source code, and a strong Github account has become more important than your CV or formal education for the most cutting-edge technology companies.”
- Po co zakładać konto na Heroku, jak mam konto AWS?
- : Pomiędzy tymi usługami jest spora różnica... tu znajduje się małe wyjaśnienie
- Czy obecność na zajęciach jest obowiązkowa?
- : Tak, po pierwsze z uwagi na konieczność pracy zespołowej. Po drugie, tak mówi regulamin studiów PWR. Trzy nieusprawiedliwione obecności będą skutkować brakiem zaliczenia.