Funkcjonalności
Zarządzanie powieściami i rozdziałami
Autorzy mogą tworzyć powieści wraz z metadanymi: tytułem, opisem, gatunkami, tagami i obrazami okładek. Powieści są zorganizowane w rozdziały ze śledzeniem odczytów i funkcjami analitycznymi. Autorzy zarządzają swoimi dziełami z poziomu panelu autora – mogą tworzyć, edytować i zmieniać kolejność rozdziałów. Platforma obsługuje sformatowany tekst (rich text) w treści rozdziałów oraz udostępnia dedykowany czytnik zapewniający komfortowe doświadczenie lektury.
Uwierzytelnianie użytkowników i profile
Aplikacja korzysta z uwierzytelniania opartego na tokenach JWT. Użytkownicy mogą się rejestrować, logować oraz odzyskiwać konta za pomocą funkcji przypomnienia i resetowania hasła. Strony profilowe umożliwiają przeglądanie danych konta i zarządzanie nimi. Kontrola dostępu oparta na rolach rozróżnia zwykłych użytkowników, autorów i administratorów.
Osobista biblioteka i postęp czytania
Zalogowani użytkownicy mogą zapisywać powieści w osobistej bibliotece i śledzić postęp czytania. Backend utrwala wpisy biblioteczne oraz postęp, dzięki czemu użytkownicy mogą wznawiać lekturę między sesjami. Subskrybenci biblioteki otrzymują powiadomienia o publikacji nowych rozdziałów obserwowanych powieści – dostarczane w czasie rzeczywistym przez WebSockety, jeśli są dostępne.
Wyszukiwanie i odkrywanie treści
Zaawansowane wyszukiwanie jest realizowane przez Elasticsearch. Powieści są indeksowane i synchronizowane z MongoDB za pomocą dedykowanej usługi synchronizacji oraz zaplanowanej weryfikacji. Użytkownicy mogą wyszukiwać i filtrować powieści według kryteriów takich jak gatunek czy popularność. Endpointy rekomendacji oferują sugestie w trzech kategoriach: „bo przeczytałeś” (podobne powieści), „popularne w gatunku” oraz „od obserwowanych autorów” – pomagając czytelnikom odkrywać nowe treści.
Komentarze i zaangażowanie
Czytelnicy mogą komentować zarówno powieści, jak i poszczególne rozdziały. API obsługuje tworzenie, wyświetlanie i zarządzanie komentarzami. Endpointy administracyjne umożliwiają moderatorom przeglądanie komentarzy i zarządzanie nimi w skali całej platformy.
Powiadomienia
System powiadomień obsługuje alerty w aplikacji, takie jak informacja o publikacji nowego rozdziału. Powiadomienia są przechowywane w MongoDB, a backend może przesyłać je do podłączonych klientów za pośrednictwem Socket.IO. Użytkownicy mogą oznaczać powiadomienia jako przeczytane i zarządzać listą powiadomień.
Administracja
Panel administracyjny udostępnia pulpity nawigacyjne oraz narzędzia do zarządzania użytkownikami, powieściami i komentarzami. Dostęp jest ograniczony do użytkowników z rolą administratora. Warstwa frontendowa korzysta z dedykowanego układu administracyjnego i osobnych stron do zarządzania użytkownikami, powieściami oraz moderacji komentarzy.
Import treści
Backend obsługuje import plików EPUB z wykorzystaniem dedykowanej walidacji, middleware do przesyłania plików i funkcji pomocniczych. Umożliwia to zarówno jednostkowy, jak i zbiorczy import istniejących dzieł w formacie EPUB.
API i dokumentacja
Backend udostępnia RESTful API ze spójną obsługą kodów statusu i błędów. Interaktywna dokumentacja API jest dostępna przez Swagger UI pod adresem /api/docs, a definicje tras są opisane w formacie YAML. Endpointy health check i testowe wspierają monitorowanie oraz kontrole integracyjne.
Strony prawne i pomocnicze
Aplikacja zawiera statyczne lub półstatyczne strony z najczęściej zadawanymi pytaniami (FAQ), regulaminem, polityką prywatności, wytycznymi i formularzem kontaktowym, zapewniając czytelnikom i autorom jasne informacje prawne oraz możliwość kontaktu.
Kod źródłowy: Zobacz projekt na GitHubie