Aplikacja full-stack pozwalająca na zarządzanie projektami w metodologiach Agile i Kanban.
- Java 17
- Spring Framework 5 (Spring Boot, Spring Security, Spring Data JPA)
- Flyway
- MapStruct
- TypeScript
- React 18
- Redux
- PostgreSQL 14
- JDK v >= 17 (pref. Amazon Corretto)
- Node.js v >= 16.13
- PostgreSQL 14
- Zsynchronizować zależności Maven w katalogu głównym
- W katalogu
frontend
uruchomić komendęnpm install
- W katalogu
src/main/resources
stworzyć plikconfig.properties
na podstawie pliku przykładowegoexample_config.properties
, i uzupełnić prawidłowymi danymi.
- Z pliku
config.properties
usunąć liniespring.datasource.url
,spring.datasource.username
,spring.datasource.password
ispring.jpa.hibernate.ddl-auto
. Właściwości te są wprowadzane jako zmienne środowiskowe Dockera. - W katalogu głównym uruchomić komendę
docker-compose build
, a następniedocker-compose up
- Jeżeli zostaniemy poproszeni, należy utworzyć wolumeny Dockera poprzez komendy
docker volume create --name=postgres_database
orazdocker volume create --name=postgres_test_database
, a następnie ponownie uruchomićdocker-compose up
. - Zarówno frontend jak i backend powinny być uruchomione, można korzystać z aplikacji pod adresem
http://localhost:3000
, backend jest dostępny pod adresemhttp://localhost:8080
- Należy stworzyć bazę danych PostgreSQL o parametrach takich, jak zostały podane w pliku
config.properties
- W katalogu głównym uruchomić komendę
./mvnw clean install
(Unix) lub./mvnw.cmd clean install
(Windows) - sprawdzi poprawność oraz przeprowadzi instalację i wstępną kompilację. - Jeżeli poprzednia komenda zadziałała poprawnie, należy uruchomić
./mvnw spring-boot:run
, aby uruchomić właściwą aplikację. Będzie działać pod adresemhttp://localhost:8080
- W katalogu
./frontend
należy uruchomić komendęnpm start
, po chwili frontend powinien być dostępny pod adresemhttp://localhost:3000
.
Jeżeli chcemy, aby do testów została wykorzystana baza danych PostgreSQL z kontenera Docker, w pliku application-test.properties
należy zmienić port z 5432
na 5434
, gdyż do tego portu hosta zmapowana jest testowa baza danych.
Należy utworzyć testową bazę danych PostgreSQL o parametrach takich, jak pozostały podane w
pliku application-test.properties
.