Files
pagedev.pl/PROJECT_LOG.md
2026-01-29 21:08:01 +01:00

67 lines
2.1 KiB
Markdown

# Projekt: System 2FA + Notatnik (PHP MVC)
## Cel projektu
- Prosta aplikacja logowania 2FA w PHP z notatnikiem użytkownika.
- MVC (kontrolery, modele, widoki). Bootstrap UI.
## Najważniejsze funkcje (stan na dziś)
- Logowanie użytkownika + weryfikacja kodem 2FA (testowy kod w konsoli).
- Panel użytkownika po zalogowaniu.
- Notatnik: lista, dodawanie, edycja, usuwanie z ładnym modalem potwierdzenia.
- Kalendarz: widok miesięczny, dodawanie/edycja/usuwanie wydarzeń.
## Dane testowe
- Login: projectpro
- Hasło: testowehaslo
## Routing (przyjazne URL)
- /logowanie
- /uwierzytelnianie (POST)
- /weryfikacja
- /weryfikuj-kod (POST)
- /panel lub /pulpit
- /notatnik
- /notatka/nowa
- /notatka/edytuj?id=ID
- /notatka/zapisz (POST)
- /notatka/usun (POST)
- /kalendarz
- /wydarzenie/nowe
- /wydarzenie/edytuj?id=ID
- /wydarzenie/zapisz (POST)
- /wydarzenie/usun (POST)
- /wyloguj-sie
- /inicjalizacja
## Baza danych (SQLite)
- users: użytkownicy (hasła haszowane)
- verification_codes: kody 2FA z wygasaniem
- notes: notatki per user (created_at/updated_at)
- calendar_events: wydarzenia per user (event_date, created_at/updated_at)
## Struktura MVC
- controllers: InitController, LoginController, DashboardController, NotesController
- controllers: InitController, LoginController, DashboardController, NotesController, CalendarController
- models: Database, User, Notes, CalendarEvent
- views: login, verify, dashboard, notes/index, notes/form, calendar/index, calendar/form
- layout wspólny: views/layout.php
## Wygląd UI
- Bootstrap 5
- Dodatkowe style: public/css/style.css, public/css/notes.css, public/css/calendar.css
- JS: public/js/app.js
## Ważne uwagi techniczne
- Layout obsługuje: $pageTitle, $bodyClass, $extraHead, $extraScript, $content.
- Widoki korzystają z layoutu i generują zawartość przez output buffering.
- Notatnik używa modala Bootstrap do potwierdzenia usunięcia.
## Pliki kluczowe
- index.php: router i bootstrap aplikacji
- .htaccess: przepisywanie URL
- models/Notes.php: inicjalizacja tabeli notatek przy użyciu
## Do dalszego pilnowania
- Utrzymywać spójność URL z routerem.
- Aktualizować ten plik po kolejnych zmianach.