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
Jeżeli ktoś nie pamięta jak się je tworzy, to polecam: UML diagram types with examples, UML tutorial. Wygodnym narzędziem do (grupowego) tworzenia diagramów jest: draw.io (wymaga kilku uprawnień do Google Drive).
Zadanie nr 7 [19 XII]
Prezentacja wersji Alfa
Zadanie nr 8 [9 I]
Prezentacja wersji Beta
Zadanie nr 9 [23 I]
Prezentacja wersji finalnej
  1. 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.”
  2. Po co zakładać konto na Heroku, jak mam konto AWS?
  3. 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.