Prosty menedżer notatek zbudowany w PHP, PostgreSQL oraz czystym HTML/CSS/JS. Możesz:
- Tworzyć i edytować notatki z tytułami, treścią oraz tagami rozdzielanymi przecinkami
- Oznaczać notatki jako „ulubione” (★) i filtrować tylko ulubione
- Filtrować notatki według poszczególnych tagów
- Zarządzać swoim profilem (imię, e-mail, avatar) oraz zmieniać hasło
- ERD – Diagram bazy danych
- Prototyp
- Instalacja
- Użycie
- Screenshots
- Profile Settings
- Architektura i OOP
erDiagram
USERS ||--o{ USER_PROFILES : has
USERS ||--o{ NOTES : owns
NOTES ||--o{ NOTE_TAGS : links
TAGS ||--o{ NOTE_TAGS : links
USERS {
int id
string email
string password_hash
timestamp created_at
}
USER_PROFILES {
int user_id
string full_name
string avatar_path
}
NOTES {
int id
int user_id
string title
text content
bool is_favorite
timestamp created_at
timestamp updated_at
}
TAGS {
int id PK
string name
}
NOTE_TAGS {
int note_id
int tag_id
}
Prototyp interfejsu znajdziesz lokalnie w pliku docs/prototype.pdf
.
git clone <repo-url>
docker compose up --build
Aplikacja będzie dostępna pod http://localhost:8080
.
- Zarejestruj nowe konto lub zaloguj się
- Przejdź do
My Notes
(lista notatek) - Kliknij + New Note aby dodać nową
- Edytuj, usuwaj, oznaczaj jako ulubione lub filtruj po tagach
- W ustawieniach profilu (⚙) zarządzaj danymi i avatarami
- login.png – strona logowania Logowanie
- register.png – strona rejestracji Rejestracja
- list.png – widok główny: lista notatek z filtrem tagów i gwiazdkami Lista notatek
- new-note.png – formularz tworzenia nowej notatki Nowa notatka
- edit-note.png – formularz edycji notatki Edycja notatki
- profile-settings.png – strona ustawień profilu Profil
Formularz pozwalający na:
- Zmianę zdjęcia profilowego (avatar)
- Aktualizację pełnej nazwy i emaila
- Zmianę hasła (wymaga podania starego)
src/Models
– encje danych (User
,Note
)src/Repositories
– dostęp do DB z użyciem PDOsrc/Controllers
– kontrolery obsługujące logikę MVCpublic/Views
– widoki PHP + HTMLRouting.php
– prosty front-controller mapujący URL → metodastyles/
,assets/
– czysty CSS/JS (bez frameworków)