Course objectives list

Labs

1. week: Course schedule, conditions for granting the credit, assignments

  1. Get familiar with the organization of the subject Component-oriented programming.
  2. Get familiar with the integrated development environment IntelliJ Idea .
  3. Practice effective work with the development environment.
  4. Refresh the Java basics and debugging by solving simple programming tasks.

2. week: Task 1 - Game design

  1. Prepare the repository for your assignment in the system GitLab .
  2. Identify the basic entities, relations and operations of a tile-based game and create a conceptual model of your game.
  3. Identify the fundamental states of the game and their transitions.
  4. Design the core game logic.

3. week: Task 2 - Implementing the game core

  1. Create classes for the game core in the Java language according to design that you created in the previous week.
  2. Implement the core game logic based on designs that you made in the previous week.
  3. Create unit tests for testing the initialization of the game field and game logic methods.

4. week: Task 3 - Creating simple console interface

  1. Implement the game loop in which the game will be running.
  2. Implement printing of the string representation of the game field.
  3. Implement handling of the user input and communication of the game with the user.

5. week: Task 4 - Implementing service components using JDBC

  1. Create a database to store the service data.
  2. Create entity classes to represent data for services and add interfaces of service components into the code.
  3. Implement the interfaces of service components.
  4. Integrate created services into your game.

7. week: Task 5 - Implementing service components using JPA

  1. Update the project structure.
  2. Annotate entity classes that allow using JPA services in game.
  3. Implement service components with JPA.
  4. Use created services in your game.
  5. Adjust your project to run with Spring Boot .

8. week: Úloha 6 - Webové REST služby

  1. Upraviť závislosti projektu gamestudio pre umožnenie ďalšieho postupu v rámci cvičení.
  2. Vytvoriť triedu pre spustenie serverovej časti.
  3. Implementovať služby sprístupňujúce servisné komponenty klientovi prostredníctvom REST rozhrania.
  4. Vytvoriť služby klienta využívajúceho vytvorené REST rozhranie.
  5. Spustiť serverovú a klientskú časť projektu.

10. week: Úloha 7 - Tvoríme webové používateľské rozhranie pre hru

  1. Aktualizovať závislosti projektu pre prácu so šablónovacím systémom Thymeleaf .
  2. V rámci štruktúry projektu pripraviť balíky a potrebné súbory pre webové rozhranie.
  3. Vytvoriť webové používateľské rozhranie.

11. week: Úloha 8 - Tvoríme webové používateľské rozhranie pre hru II

  1. Implementácia webového používateľského rozhrania
  2. Implementácia zaujímavých vylepšení pre hru a zvýšenie kvality riešenia

Milestones

5. week: Milestone 1: game logic & JDBC (Slovak students)

  1. Kompletizácia zdrojových kódov z vypracovaných úloh.
  2. Spracovanie krátkeho videa, ktoré dokumentuje fungovanie hry.
  3. Kompletizácia návrhu hry a bonusových funkcionalít.
  4. Odovzdanie zadania do systému GitLab.

9. week: Odovzdanie 2: JPA + REST

  1. Odovzdanie úloh 5 a 6

13. week: Odovzdanie 3: Hra vo webovom prehliadači s GUI

  1. Kompletizácia zdrojových kódov z vypracovaných úloh.
  2. Spracovanie krátkeho videa, ktoré demonštruje fungovanie hry a služieb.
  3. Odovzdanie zadania do systému GitLab.
  4. Prezentovanie zadania živou ukážkou v 13. týždni semestra.

Sources & info

5. week: Návod na prácu s nástrojom DataGrip

  1. Pripojiť sa na databázový server PostgreSQL pomocou nástroja DataGrip .
  2. Vytvoriť na databázovom serveri novú databázu.
  3. Pripojiť sa na novo vytvorenú databázu.
  4. Naučiť sa pracovať s vytvorenou databázou.