Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 53 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,58 +78,73 @@ Aplikacja zawiera 3 przykładowych użytkowników:

## 📊 Funkcje

### ✅ Zaimplementowane (MVP)

- ✅ **Autentykacja**
- Rejestracja użytkowników
- Logowanie (email + hasło)
- Wylogowanie
- Ochrona chronionych stron

- ✅ **Baza danych**
- SQLite z Prisma ORM
- Modele: User, Post, Comment, Rating
- Seed z przykładowymi danymi

### 🚧 W planach

- 📝 Dodawanie ogłoszeń
- 🔍 Filtrowanie po kategorii i lokalizacji
- 💬 System komentarzy
- ⭐ Oceny użytkowników
- 🗺️ Mapa z lokalizacją ogłoszeń
- 👤 Profile użytkowników
### ✅ Funkcje Aplikacji

- 📣 **System Ogłoszeń**
- Dodawanie, edycja i usuwanie ogłoszeń
- Przeglądanie listy ogłoszeń
- Szczegółowy widok ogłoszenia

- 🔍 **Odkrywanie i Filtrowanie**
- Zaawansowane wyszukiwanie tekstowe
- Filtrowanie po kategorii
- Wyszukiwanie po lokalizacji

- 💬 **Interakcje Społeczne**
- System komentarzy z aktualizacją w czasie rzeczywistym
- Oceny użytkowników (gwiazdki) i recenzje
- Historia ocen

- 🗺️ **Integracja Mapy**
- Interaktywna mapa OpenStreetMap (Leaflet)
- Wybieranie lokalizacji przy dodawaniu ogłoszeń (Geocoding)
- Wizualizacja ogłoszeń na mapie strony głównej

- 👤 **Profile Użytkowników**
- Publiczne profile użytkowników
- Historia aktywności i statystyki
- Edycja danych profilowych (bio, telefon, avatar)

## 📁 Struktura projektu

```
localaid/
├── prisma/
│ ├── schema.prisma # Modele bazy danych
│ ├── seed.js # Przykładowe dane
│ └── dev.db # SQLite database (88KB)
│ ├── schema.prisma # Modele bazy danych (User, Post, Comment, Rating)
│ ├── seed.js # Skrypt do seedowania danych
│ └── dev.db # Baza danych SQLite
├── src/
│ ├── app/
│ │ ├── api/ # Backend API Routes
│ │ ├── auth/ # Strony autentykacji
│ │ ├── layout.tsx # Root layout
│ │ └── page.tsx # Strona główna
│ │ ├── api/ # Backend API (posts, users, comments, ratings)
│ │ ├── auth/ # Strony logowania i rejestracji
│ │ ├── posts/ # Strony ogłoszeń (create, [id], edit)
│ │ ├── profile/ # Strony profili użytkowników
│ │ ├── layout.tsx # Główny layout aplikacji
│ │ └── page.tsx # Strona główna z mapą i listą
│ │
│ ├── components/ # React components
│ │ └── providers/
│ ├── components/ # Komponenty React
│ │ ├── CommentSection.tsx # Sekcja komentarzy
│ │ ├── LocationPicker.tsx # Wybór lokalizacji na mapie
│ │ ├── Map.tsx # Komponent mapy (Leaflet)
│ │ ├── MapWrapper.tsx # Wrapper mapy (Client-side)
│ │ ├── PostActions.tsx # Przyciski akcji (edycja/usuwanie)
│ │ ├── PostForm.tsx # Formularz ogłoszenia
│ │ ├── ProfileForm.tsx # Formularz edycji profilu
│ │ ├── SearchFilters.tsx # Pasek wyszukiwania i filtrów
│ │ └── UserRating.tsx # System oceniania
│ │
│ ├── lib/
│ │ ├── prisma.ts # Prisma client
│ │ ├── auth.ts # NextAuth config
│ │ └── utils.ts # Helper functions
│ │ ├── prisma.ts # Instancja klienta Prisma
│ │ ├── auth.ts # Konfiguracja NextAuth
│ │ └── utils.ts # Funkcje pomocnicze
│ │
│ ├── types/ # TypeScript types
│ └── constants/ # Kategorie i stałe
│ ├── types/ # Definicje typów TypeScript
│ └── constants/ # Stałe (kategorie, statusy)
├── .env # Konfiguracja (gitignored)
├── .env.example # Przykładowa konfiguracja
└── package.json
├── .env # Zmienne środowiskowe
├── .env.example # Szablon zmiennych środowiskowych
└── package.json # Zależności projektu
```

## 🔧 Przydatne komendy
Expand Down
Loading