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

2.1 KiB

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.