Skip to content

xpawk/notes_manager_wdpai

Repository files navigation

MyNotes App

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

Spis treści

  1. ERD – Diagram bazy danych
  2. Prototyp
  3. Instalacja
  4. Użycie
  5. Screenshots
  6. Profile Settings
  7. Architektura i OOP

ERD

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 
    }


Loading

Prototyp

Prototyp interfejsu znajdziesz lokalnie w pliku docs/prototype.pdf.


Instalacja

git clone <repo-url>
docker compose up --build

Aplikacja będzie dostępna pod http://localhost:8080.


Użycie

  • 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

Screenshots

  • 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

Profile Settings

Formularz pozwalający na:

  • Zmianę zdjęcia profilowego (avatar)
  • Aktualizację pełnej nazwy i emaila
  • Zmianę hasła (wymaga podania starego)

Architektura i OOP

  • src/Models – encje danych (User, Note)
  • src/Repositories – dostęp do DB z użyciem PDO
  • src/Controllers – kontrolery obsługujące logikę MVC
  • public/Views – widoki PHP + HTML
  • Routing.php – prosty front-controller mapujący URL → metoda
  • styles/, assets/ – czysty CSS/JS (bez frameworków)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published