3.4 KiB
3.4 KiB
2026-07-06
Co zrobiono
- [Plan 20260706-1248] Fundament finansePRO na CodeIgniter 4.7.3 + moduł wydatków/przychodów bieżących.
- Inicjalizacja PAUL (plan-first, Quality Radar), junction memory.
- Instalacja CI4 (Composer), konfiguracja DB czytana z
.env, włączenieintlw XAMPP. - Logowanie jednego użytkownika z
.env(filtrauth,Auth::login/logout). - Migracje
categories(hierarchia+typ) ioperations(+FK), seeder 9 kategorii. - CRUD kategorii i operacji: filtry (data/kategoria/typ), sumy, blokada usunięcia używanej kategorii, typ operacji wymuszany przez kategorię.
- Dashboard z 3 wykresami ApexCharts (bilans miesięczny, wydatki wg kategorii, saldo skumulowane).
- Weryfikacja end-to-end przez
php spark serve+ curl; dane testowe wyczyszczone. - Naprawa wdrożenia hostido: root
.htaccess(forward dopublic/, 403), sekcja produkcyjna w.env(CI_ENVIRONMENT=production,app.baseURL). - [Plan 20260706-1430] Moduł inwestycji: instrumenty (Obligacje/ETF), wpłaty/wypłaty, ręczne wyceny.
- Migracje
inv_instruments,inv_operations,inv_valuations(FK RESTRICT), seeder instrumentów. - CRUD instrumentów/operacji/wycen + filtry + blokada usunięcia instrumentu z powiązaniami.
- Pulpit inwestycji
/investments: kafelki, wykres 3-seryjny w czasie, tabela per instrument (zarobek netto = ostatnia wycena − (Σwpłat − Σwypłat)). - Pulpit globalny
/dashboard(majątek razem = saldo bieżące + wartość inwestycji); dotychczasowy pulpit finansów przepięty pod/finances. - Nawigacja zgrupowana w dropdowny: „Finanse bieżące" i „Inwestycje" + top-level „Pulpit".
- Weryfikacja end-to-end curl (ETF: netto 800, wartość 950, zarobek 150 = 18,75%); dane testowe wyczyszczone.
Zmienione pliki
composer.json,composer.lock,vendor/,spark,public/,writable/app/Config/Database.php,app/Config/Routes.php,app/Config/Filters.php,app/Config/App.phpapp/Controllers/BaseController.php,app/Controllers/Auth.php,app/Controllers/Categories.php,app/Controllers/Operations.php,app/Controllers/Dashboard.phpapp/Filters/AuthFilter.phpapp/Models/CategoryModel.php,app/Models/OperationModel.phpapp/Database/Migrations/2026-07-06-100001_CreateCategories.php,app/Database/Migrations/2026-07-06-100002_CreateOperations.phpapp/Database/Seeds/DefaultCategoriesSeeder.phpapp/Views/layout/main.php,app/Views/auth/login.php,app/Views/categories/index.php,app/Views/categories/form.php,app/Views/operations/index.php,app/Views/operations/form.php,app/Views/dashboard/index.php.env,.htaccessapp/Database/Migrations/2026-07-06-140001_CreateInvInstruments.php,...140002_CreateInvOperations.php,...140003_CreateInvValuations.phpapp/Database/Seeds/DefaultInstrumentsSeeder.phpapp/Models/InstrumentModel.php,app/Models/InvOperationModel.php,app/Models/ValuationModel.phpapp/Controllers/Instruments.php,app/Controllers/InvOperations.php,app/Controllers/Valuations.php,app/Controllers/Investments.php,app/Controllers/Dashboard.phpapp/Views/instruments/{index,form}.php,app/Views/inv_operations/{index,form}.php,app/Views/valuations/{index,form}.php,app/Views/investments/index.phpapp/Views/dashboard/index.php(globalny),app/Views/dashboard/finances.php(finansowy)app/Config/Routes.php,app/Views/layout/main.php