Webowa aplikacja do analizy fundamentalnej spółek giełdowych. Użytkownik
wrzuca raport finansowy (ESEF .xbri) lub wprowadza dane formularzem —
system parsuje sprawozdanie, liczy wskaźniki, wzbogaca danymi rynkowymi
i prezentuje analizę z flagami ostrzegawczymi. Szczegóły produktu:
docs/ROADMAP.md.
Stack: Java 21 + Spring Boot 3 · Vue 3 + TypeScript · PostgreSQL 16 · Liquibase · Docker Compose · GitHub Actions CI
moat/
├── docker-compose.yml # postgres + api + frontend
├── backend/ # Spring Boot REST API
├── frontend/ # Vue 3 SPA (Vite, PrimeVue)
├── data/raw/ # przykładowe paczki ESEF (.xbri) do testów
└── docs/
├── ROADMAP.md
├── adr/ # decyzje architektoniczne (ADR)
└── postman/ # kolekcja do ręcznego testowania API
cp .env.example .env # ustaw POSTGRES_PASSWORD
docker compose up --buildPo starcie:
- Frontend: http://localhost:3000
- API: http://localhost:8080
- Health-check: http://localhost:8080/actuator/health →
{"status":"UP"}
Migracje Liquibase tworzą schemat (users, companies,
financial_reports) przy starcie aplikacji.
Backend — wymaga JDK 21 i PostgreSQL (np. sam kontener postgres z compose):
cd backend
./mvnw spring-boot:run # Windows: mvnw.cmd spring-boot:runDomyślne połączenie: jdbc:postgresql://localhost:5432/moat.
Frontend — wymaga Node 24; proxy Vite przekierowuje /auth/* i /companies
na backend :8080:
npm install # w katalogu frontend/
npm run dev # lub z root: npm run devAplikacja dev: http://localhost:5173 (Vite). Backend musi działać na :8080.
cd backend
mvn test # lub: ./mvnw testTesty integracyjne startują PostgreSQL przez Testcontainers — wymaga dostępnego Dockera.
CI (push/PR na main): build + test backendu (mvn verify) oraz
type-check + build frontendu — patrz .github/workflows/ci.yml.
| Zasób | Opis |
|---|---|
| docs/ROADMAP.md | Wizja produktu, przepływy, roadmapa |
| docs/adr/ | Decyzje architektoniczne (ADR) |
| backend/openapi.yaml | Kontrakt REST API |
| docs/postman/ | Kolekcja Postman + instrukcja |