de3a1328de201b30b72498f3d5f677b426f421bf
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
cp .env.example .env
docker compose up --build -d
Architektura produkcyjna:
reverse-proxy- publiczny punkt wejscia HTTPweb- statyczny frontend Angular za proxyapi- backend Express dostepny tylko wewnatrz sieci Dockerapostgres- 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 apiipostgresdostaja konfiguracje przezenv_file- tylko
reverse-proxywystawia port na hosta
Przykladowe klucze w .env:
PUBLIC_HTTP_PORT- port reverse proxy na hościeAPI_CORS_ORIGIN- publiczny adres aplikacji, np.https://twoja-domena.plPOSTGRES_DB,POSTGRES_USER,POSTGRES_PASSWORDJWT_SECRET
Dewelopersko lokalnie bez reverse proxy
chmod +x start_dev.sh
./start_dev.sh
Tryb dev:
- backend uruchamia sie lokalnie
- Angular dev server uruchamia sie lokalnie
/apii/uploadsida przez proxy Angulara zweb/proxy.conf.json- reverse proxy z Dockera nie jest potrzebne
Domyslne dane dev:
- email:
admin@local.dev - haslo:
Admin123!
Reczne scenariusze testowe
- Zaloguj sie jako admin.
- Dodaj kontrahenta w
Kontrahenci. - Dodaj wydatek i wybierz kontrahenta z listy.
- Dodaj obraz lub PDF jako potwierdzenie.
- Otworz
Statystykii zmien okres. - Otworz
Raporty, zapisz preferencje i sprawdz podglad. - Otworz
Admin, skonfiguruj SMTP i wykonaj test SMTP. - Zmien role lub status jednego z uzytkownikow.
Struktura
api/- backend Express + TypeORMweb/- frontend Angular + Tabler UIreverse-proxy/- konfiguracja publicznego reverse proxy dla produkcjidocker-compose.yml- stack produkcyjnystart_dev.sh- lokalny start bez Dockera
Description
Languages
TypeScript
72.6%
HTML
24.5%
SCSS
2.4%
Shell
0.4%
Dockerfile
0.1%