53 lines
2.1 KiB
Markdown
53 lines
2.1 KiB
Markdown
# Kalkulator Godzin Odoo (Duck Odoo Calc)
|
|
|
|
Aplikacja webowa służąca do pobierania, analizowania oraz interaktywnego kalkulowania godzin pracy na podstawie rejestru obecności z systemu **Odoo** (`hr.attendance`).
|
|
|
|
## Główne Funkcjonalności
|
|
* **Logowanie danymi Odoo**: Bezpieczne logowanie i generowanie sesji JWT.
|
|
* **Automatyczne pobieranie danych**: Pobieranie historii wejść/wyjść dla wybranego miesiąca i roku.
|
|
* **Wizualizacja danych**: Stackowany wykres kolumnowy (Chart.js) prezentujący przepracowany czas, dni urlopowe oraz chorobowe.
|
|
* **Interaktywny kalendarz**:
|
|
* Szybkie dodawanie i usuwanie wpisów obecności.
|
|
* Wygodne suwaki czasu (`TimeStepper`) do edycji godzin wejścia/wyjścia (z dokładnością do minuty).
|
|
* Możliwość oznaczania dni jako urlop (8h) lub chorobowe (6.4h - 80%).
|
|
* **Automatyczne przeliczanie**:
|
|
* Uwzględnianie świąt państwowych w Polsce oraz weekendów.
|
|
* Automatyczne odliczanie 15-minutowej przerwy obiadowej (0.25h) przy każdym dniu pracy.
|
|
* Bieżące wyliczanie salda nadgodzin (bilansu dziennego i ogólnego).
|
|
|
|
---
|
|
|
|
## Wymagania i Konfiguracja
|
|
|
|
Przed uruchomieniem aplikacji należy utworzyć plik `.env` w katalogu `backend/` i skonfigurować następujące zmienne:
|
|
|
|
```env
|
|
SECRET_KEY=twoj_klucz_jwt_np_z_openssl_rand_hex_32
|
|
ALGORITHM=HS256
|
|
ACCESS_TOKEN_EXPIRE_MINUTES=60
|
|
ODDO_URL=https://odoo.twoja-firma.pl
|
|
DB_NAME=nazwa_bazy_danych_odoo
|
|
ORIGINS=http://localhost:6080
|
|
```
|
|
|
|
---
|
|
|
|
## Uruchomienie Projektu
|
|
|
|
Aplikacja jest w pełni konteneryzowana za pomocą Docker Compose. Aby ją zbudować i uruchomić locally, wykonaj polecenie:
|
|
|
|
```bash
|
|
docker compose up --build
|
|
```
|
|
|
|
Po uruchomieniu:
|
|
* Aplikacja frontendowa (Vue) będzie dostępna pod adresem: **`http://localhost:6080/odoo/`**
|
|
* API backendowe (FastAPI) będzie dostępne pod adresem: **`http://localhost:8000/`** (proxy z frontendu przekierowuje zapytania `/odoo/api/` na backend).
|
|
|
|
---
|
|
|
|
## Szczegółowa Dokumentacja
|
|
|
|
Pełna specyfikacja techniczna, w tym struktura plików, algorytmy obliczeniowe, konfiguracja Nginx oraz opis testów jednostkowych znajduje się w pliku:
|
|
* [project_summary.md](project_summary.md)
|