← Powrót do projektów Aplikacja internetowa · Samochody

Car Market Node.js

Giełda pojazdów z funkcją wyszukiwania, filtrowania i szczegółowymi ofertami.

Car Market Node.js
PROJEKT

Projekt

Car Market to aplikacja internetowa oparta na katalogu pojazdów, z funkcją wyszukiwania, filtrowania i szczegółowymi stronami pojazdów. Charakteryzuje się nowoczesną architekturą, responsywnym designem i intuicyjną nawigacją.

Architektura systemu & Główne filary

Car Market łączy niezależne API REST w Node.js i Express z ultraszybką aplikacją Single Page Application w React (Vite), zapewniając filtrowanie ofert poniżej sekundy i płynne zarządzanie sprzedażą.

┌─────────────────────────────────────────────────────────────────────────────┐
│                    Car Market Full-Stack Architecture                       │
└──────────────────────────────────────┬──────────────────────────────────────┘
                                       │
           ┌───────────────────────────┼───────────────────────────┐
           ▼                           ▼                           ▼
  🔍 Inteligentna wyszukiwarka       📸 Centrum mediów i panel sprzedawcy       🛡️ Bezpieczeństwo & Zgodność z RODO
  • Suwaki powiązane z bazą danych      • Przeciągnij i upuść do 15 zdjęć      • Kolejka akceptacji ogłoszeń
  • Kaskada Marka ➔ Model      • Wybór zdjęcia głównego (SortableJS)   • Szczegółowa weryfikacja pojazdu
  • Zapobieganie pustym stronom wyników      • Automatyczna konwersja WebP (Sharp)        • RODO Artykuł 17 i 20
  • Licznik pojazdów na żywo      • Integracja YouTube i Shorts       • Zabezpieczenia JWT & Bcrypt
            

Wyszukiwanie w czasie rzeczywistym

Błyskawiczne, asynchroniczne filtrowanie wielokryterialne bez przeładowywania strony.

Zautomatyzowana optymalizacja

Masowe przesyłanie zdjęć z sortowaniem metodą przeciągnij i upuść oraz kompresją WebP po stronie serwera.

Zgodność z europejskim RODO

Eksport danych JSON jednym kliknięciem oraz fizyczne, trwałe usuwanie konta i plików z serwera.

1. Inteligentna wyszukiwarka & Dynamiczne filtry

Wyszukiwarka dynamicznie ustala limity na podstawie zawartości bazy danych MySQL, eliminując puste wyszukiwania:

  • Dwustronne suwaki powiązane z bazą danych (rc-slider): Suwaki Ceny, Przebiegu i Roku automatycznie dopasowują się do realnych minimalnych i maksymalnych wartości w magazynie.
  • Kaskadowy wybór Marka ➔ Model:
    • Brak pustych wyników: Menu rozwijane pokazuje tylko te marki i modele, które posiadają aktualnie aktywne i zatwierdzone pojazdy.
    • Licznik dostępności na żywo: Wskaźnik aktualnej liczby dostępnych pojazdów przy każdej opcji (np. Renault (4) ➔ Clio V (2)).
  • Filtry parametrów technicznych: Filtrowanie według kategorii pojazdu (Samochody, Motocykle, Dostawcze), nadwozia (Sedan, SUV, Kombi, Coupé itp.), paliwa i skrzyni biegów.
  • Sortowanie asynchroniczne: Błyskawiczne sortowanie według daty dodania, ceny rosnąco/malejąco, przebiegu lub rocznika.

2. Szczegółowa karta pojazdu & Doświadczenie multimedialne

Podstrona ze szczegółami pojazdu (/vehicule/:slugOrId) zbudowana w dwukolumnowym układzie zorientowanym na konwersję:

Interaktywna galeria multimediów

Prezentacja filmów YouTube i Shorts na początku karuzeli, a następnie zdjęć w wysokiej rozdzielczości w formacie WebP.

Tabela specyfikacji technicznej

Pojemność silnika (cm³), moc (KM), zużycie paliwa, norma emisji (Euro 1 do Euro 7), numer VIN, liczba drzwi i miejsc.

Bezpośredni kontakt ze sprzedawcą

Międzynarodowy format numeru telefonu z bezpośrednim odnośnikiem tel: oraz formularz kontaktowy przypisany do pojazdu.

3. Publikacja ogłoszeń & Przetwarzanie zdjęć

Car Market udostępnia sprzedawcom prywatnym i biznesowym intuicyjne i szybkie narzędzia:

  • Pełna taksonomia motoryzacyjna (120 marek & 1 890+ modeli): Kompletna baza danych dostępna podczas tworzenia ogłoszenia dla precyzyjnej klasyfikacji.
  • Weryfikacja profilu przed publikacją: Publikacja jest blokowana do momentu uzupełnienia danych profilu sprzedawcy (imię, nazwisko, zweryfikowany numer telefonu).
  • Zmiana kolejności zdjęć metodą przeciągnij i upuść (SortableJS): Wysyłanie do 15 zdjęć jednocześnie z funkcją przeciągania w celu wyboru zdjęcia głównego ⭐ Okładka.
  • Automatyczna konwersja WebP (Sharp): Konwersja po stronie serwera do nowoczesnego formatu .webp przy kompresji 80% z automatyczną korektą orientacji EXIF.
  • Panel « Moje ogłoszenia »: Kompletny panel zarządzania z zakładkami statusu (Wszystkie, Aktywne, Oczekujące), edycją bezpośrednią i usuwaniem.

4. Kontrola jakości & Moderacja administratorska

Aby zagwarantować wiarygodność bazy i wyeliminować fałszywe oferty, platforma posiada moduł weryfikacji:

Kolejka moderacyjna

Ogłoszenia dodawane przez użytkowników pozostają w stanie oczekiwania do momentu zatwierdzenia przez administratora.

Widok pełnej inspekcji

Dedykowana podstrona (/admin/vehicule/:id) umożliwiająca powiększanie zdjęć, sprawdzanie numeru VIN i danych sprzedawcy.

Akcje jednym kliknięciem

Zabezpieczone endpointy do zatwierdzania, odrzucania/deaktywacji lub bezpośredniej edycji ogłoszenia.

5. Bezpieczeństwo klasy Enterprise & Zgodność z RODO

Car Market rygorystycznie przestrzega przepisów Ogólnego Rozporządzenia o Ochronie Danych (RODO UE 2016/679):

  • Bezstanowe uwierzytelnianie JWT: Tokeny Bearer z haszowaniem haseł przez Bcrypt (minimum 8 znaków, małe i wielkie litery, cyfry oraz znaki specjalne).
  • Przenoszenie danych (Artykuł 20 RODO): Pobieranie ustrukturyzowanego pliku JSON jednym kliknięciem zawierającego profil oraz historię wszystkich ogłoszeń.
  • Prawo do bycia zapomnianym (Artykuł 17 RODO): Trwałe usunięcie konta z wyczyszczeniem wpisów w bazie i fizycznym skasowaniem wszystkich zdjęć z serwera.

6. Matryca funkcji technicznych

Funkcja Implementacja techniczna Zaleta SEO i wydajności
Dynamiczne suwaki rc-slider + Prisma DB Aggregations Wysokie zaangażowanie Płynne filtrowanie bez przeładowywania strony
Inteligentna kaskada Prisma vehicles: { some: { isApproved: true } } Wysoka jakość treści Zapobiega indeksowaniu pustych stron wyników wyszukiwania
Optymalizacja obrazów Sharp Node.js library to WebP 80% Core Web Vitals Błyskawiczny czas First Contentful Paint (FCP)
Integracja wideo Responsive 16:9 YouTube iframe embeds Czas na stronie Zwiększa średni czas trwania sesji użytkownika
Przyjazne adresy URL (Slugs) slugify with unique ID suffixes Indeksowalność Czytelne dla wyszukiwarek adresy URL bogate w słowa kluczowe
Bezpieczeństwo & Prywatność JWT Tokens + Bcrypt + GDPR Art. 17 & 20 Zgodność z prawem Pełne dostosowanie do europejskich norm prawnych

Przetestuj działającą platformę

Wypróbuj filtry wyszukiwania, zarządzanie ogłoszeniami i responsywny interfejs na żywo.

Przejdź do aplikacji na żywo ↗