Course objectives list
Labs
1. week: Course schedule, conditions for granting the credit, assignments
- Get familiar with the organization of the subject Component-oriented programming.
- Get familiar with the integrated development environment IntelliJ Idea .
- Practice effective work with the development environment.
- Refresh the Java basics and debugging by solving simple programming tasks.
2. week: Task 1 - Game design
- Prepare the repository for your assignment in the system GitLab .
- Identify the basic entities, relations and operations of a tile-based game and create a conceptual model of your game.
- Identify the fundamental states of the game and their transitions.
- Design the core game logic.
3. week: Task 2 - Implementing the game core
- Create classes for the game core in the Java language according to design that you created in the previous week.
- Implement the core game logic based on designs that you made in the previous week.
- Create unit tests for testing the initialization of the game field and game logic methods.
4. week: Task 3 - Creating simple console interface
- Implement the game loop in which the game will be running.
- Implement printing of the string representation of the game field.
- Implement handling of the user input and communication of the game with the user.
5. week: Task 4 - Implementing service components using JDBC
- Create a database to store the service data.
- Create entity classes to represent data for services and add interfaces of service components into the code.
- Implement the interfaces of service components.
- Integrate created services into your game.
7. week: Task 5 - Implementing service components using JPA
- Update the project structure.
- Annotate entity classes that allow using JPA services in game.
- Implement service components with JPA.
- Use created services in your game.
- Adjust your project to run with Spring Boot .
8. week: Úloha 6 - Webové REST služby
- Upraviť závislosti projektu gamestudio pre umožnenie ďalšieho postupu v rámci cvičení.
- Vytvoriť triedu pre spustenie serverovej časti.
- Implementovať služby sprístupňujúce servisné komponenty klientovi prostredníctvom REST rozhrania.
- Vytvoriť služby klienta využívajúceho vytvorené REST rozhranie.
- Spustiť serverovú a klientskú časť projektu.
10. week: Úloha 7 - Tvoríme webové používateľské rozhranie pre hru
- Aktualizovať závislosti projektu pre prácu so šablónovacím systémom Thymeleaf .
- V rámci štruktúry projektu pripraviť balíky a potrebné súbory pre webové rozhranie.
- Vytvoriť webové používateľské rozhranie.
11. week: Úloha 8 - Tvoríme webové používateľské rozhranie pre hru II
- Implementácia webového používateľského rozhrania
- 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)
- Kompletizácia zdrojových kódov z vypracovaných úloh.
- Spracovanie krátkeho videa, ktoré dokumentuje fungovanie hry.
- Kompletizácia návrhu hry a bonusových funkcionalít.
- Odovzdanie zadania do systému GitLab.
9. week: Odovzdanie 2: JPA + REST
- Odovzdanie úloh 5 a 6
13. week: Odovzdanie 3: Hra vo webovom prehliadači s GUI
- Kompletizácia zdrojových kódov z vypracovaných úloh.
- Spracovanie krátkeho videa, ktoré demonštruje fungovanie hry a služieb.
- Odovzdanie zadania do systému GitLab.
- Prezentovanie zadania živou ukážkou v 13. týždni semestra.
Sources & info
5. week: Návod na prácu s nástrojom DataGrip
- Pripojiť sa na databázový server PostgreSQL pomocou nástroja DataGrip .
- Vytvoriť na databázovom serveri novú databázu.
- Pripojiť sa na novo vytvorenú databázu.
- Naučiť sa pracovať s vytvorenou databázou.