first commit
This commit is contained in:
75
README.md
Normal file
75
README.md
Normal file
@@ -0,0 +1,75 @@
|
||||
# Expense Control
|
||||
|
||||
Aplikacja do kontroli wydatkow z interfejsem Angular + Tabler UI i API Express + TypeORM.
|
||||
|
||||
## Zakres
|
||||
- logowanie i rejestracja z mozliwoscia wylaczenia rejestracji przez admina
|
||||
- wydatki z potwierdzeniami: paragon, faktura, notatka, wyciag, inne
|
||||
- zapisani kontrahenci do wyboru przy dodawaniu wydatku
|
||||
- kategorie systemowe i prywatne
|
||||
- dashboard i statystyki z filtrowaniem po datach i kategoriach
|
||||
- raporty email z preferencjami uzytkownika
|
||||
- ustawienia SMTP i test SMTP
|
||||
- panel admina z zarzadzaniem uzytkownikami
|
||||
- Docker Compose dla produkcji i start lokalny bez Dockera
|
||||
|
||||
## Produkcja w Dockerze z reverse proxy
|
||||
```bash
|
||||
cp .env.example .env
|
||||
docker compose up --build -d
|
||||
```
|
||||
|
||||
Architektura produkcyjna:
|
||||
- `reverse-proxy` - publiczny punkt wejscia HTTP
|
||||
- `web` - statyczny frontend Angular za proxy
|
||||
- `api` - backend Express dostepny tylko wewnatrz sieci Dockera
|
||||
- `postgres` - baza danych
|
||||
|
||||
Publiczny adres aplikacji:
|
||||
- frontend + API przez proxy: `http://localhost:8080`
|
||||
- API pod proxy: `http://localhost:8080/api`
|
||||
|
||||
Najwazniejsze zasady:
|
||||
- Docker Compose korzysta z pliku `.env`
|
||||
- wartosci nie sa wpisane na sztywno w `docker-compose.yml`
|
||||
- `api` i `postgres` dostaja konfiguracje przez `env_file`
|
||||
- tylko `reverse-proxy` wystawia port na hosta
|
||||
|
||||
Przykladowe klucze w `.env`:
|
||||
- `PUBLIC_HTTP_PORT` - port reverse proxy na hoście
|
||||
- `API_CORS_ORIGIN` - publiczny adres aplikacji, np. `https://twoja-domena.pl`
|
||||
- `POSTGRES_DB`, `POSTGRES_USER`, `POSTGRES_PASSWORD`
|
||||
- `JWT_SECRET`
|
||||
|
||||
## Dewelopersko lokalnie bez reverse proxy
|
||||
```bash
|
||||
chmod +x start_dev.sh
|
||||
./start_dev.sh
|
||||
```
|
||||
|
||||
Tryb dev:
|
||||
- backend uruchamia sie lokalnie
|
||||
- Angular dev server uruchamia sie lokalnie
|
||||
- `/api` i `/uploads` ida przez proxy Angulara z `web/proxy.conf.json`
|
||||
- reverse proxy z Dockera nie jest potrzebne
|
||||
|
||||
Domyslne dane dev:
|
||||
- email: `admin@local.dev`
|
||||
- haslo: `Admin123!`
|
||||
|
||||
## Reczne scenariusze testowe
|
||||
1. Zaloguj sie jako admin.
|
||||
2. Dodaj kontrahenta w `Kontrahenci`.
|
||||
3. Dodaj wydatek i wybierz kontrahenta z listy.
|
||||
4. Dodaj obraz lub PDF jako potwierdzenie.
|
||||
5. Otworz `Statystyki` i zmien okres.
|
||||
6. Otworz `Raporty`, zapisz preferencje i sprawdz podglad.
|
||||
7. Otworz `Admin`, skonfiguruj SMTP i wykonaj test SMTP.
|
||||
8. Zmien role lub status jednego z uzytkownikow.
|
||||
|
||||
## Struktura
|
||||
- `api/` - backend Express + TypeORM
|
||||
- `web/` - frontend Angular + Tabler UI
|
||||
- `reverse-proxy/` - konfiguracja publicznego reverse proxy dla produkcji
|
||||
- `docker-compose.yml` - stack produkcyjny
|
||||
- `start_dev.sh` - lokalny start bez Dockera
|
||||
Reference in New Issue
Block a user