Nevytvářejte fork tohoto repozitáře, ale místo toho duplikujte toto úložiště. Pokud se přihlásíte na GitHub, můžete vytvořit repozitář ze šablony. Pokud se přihlásíte na GitHub, můžete vytvořit repozitář ze šablony.
Svět JavaScriptových frameworků je velmi nepřehledný a nestálý. Chceme mít nástroj pro jejich evidenci, ke kterému budeme přistupovat pomocí jednoduchého REST API. Informace by měly obsahovat:
- jméno frameworku
- čísla verzí
- datum, kdy která verze přestala být aktuální (kdy přestala být podporovaná)
- hodnocení ve stylu 1-5 hvězdiček
API by mělo umožňovat následující operace:
- výpis všech záznamů
- přidávat další záznamy
- upravovat existující záznam
- smazat existující záznam
- fulltextově vyhledávat v záznamech podle zadání uživatele
- Spring Boot
- Java 17
- Gradle
- JUnit 5
- H2 in-memory databáze pro tento příklad postačuje
- libovolné vývojové prostředí, doporučujeme IntelliJ IDEA, nebo Eclipse IDE
Je potřeba mít nainstalované JDK 17. Preferujeme verzi OpenJDK z distribuce Eclipse Temurin, ale fungovat by měla jakákoliv. Následně stačí spustit gradlew.bat
(Windows) nebo ./gradlew
(MacOS a Linux) v tomto adresáři s parametry:
build
- sestavení aplikacebootRun
- spuštění aplikacetest
- spuštění testů
Hodnotíme hlavně funkčnost, správnost a udržitelnost kódu. Řešení není potřeba dopracovávat do zcela funkčního celku, ale samozřejmě inciativu oceníme. Očekáváme, že řešení zabere několik hodin až maximálně dva dny, více času nemá smysl tomu věnovat. Neočekáváme dodání do druhého dne, spíše počítáme s řešením v klidu přes víkend. Řešení slouží jako podklad pro diskuzi na pohovoru.
Do not fork this repository, but instead duplicate this repository. If you login to GitHub, you can create a repository from a template.
The world of JavaScript frameworks is pretty chaotic and unstable place. We want to have a tool for record keeping of JavaScript frameworks. We'd like to use it through a REST API. The information should include:
- the name of the framework
- version numbers
- date of deprecation of framework versions (the date when the version stopped being supported)
- rating (1 to 5 stars)
The API should be able to carry out these operations:
- list all entries
- insert new entries
- modify existing entry
- delete existing entry
- fulltext search in entry data according to user input
- Spring Boot
- Java 17
- Gradle
- JUnit 5
- H2 in-memory database is sufficient for this example
- any suitable development environment, we recommend IntelliJ IDEA, or Eclipse IDE
You'll need to have JDK 17 installed beforehand. We prefer OpenJDK distribution from Eclipse Temurin project. Afterwards, you only need to run gradle.bat
(on Windows) or ./gradlew
(on MacOS or Linux) in this directory with those parameters:
build
- build the applicationbootRun
- run the applicationtest
- run tests
The most important aspects of the solution for us are functionality, correctness, and maintainability of the code. Completing the full working application is not necessary but we will appreciate the initiative. The assignment should take from a few hours to two days at maximum. We don't expect to have solution the next day, we'd rather you take your time and maybe do it on weekend. The solution serves as a basis for discussion during the interview.