67 lines
2.1 KiB
Markdown
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.
|