ZADANIE TECHNICZNE
Nazwa projektu
Aplikacja internetowa do śledzenia przeczytanych książek (analog Goodreads).
⸻
1. Cel projektu
Opracowanie aplikacji internetowej, która umożliwia użytkownikom przeglądanie katalogu książek, wyszukiwanie książek, tworzenie własnej biblioteki, zmienianie statusu czytania oraz ocenianie przeczytanych książek.
⸻
2. Przeznaczenie systemu
System jest przeznaczony do prowadzenia osobistej elektronicznej biblioteki użytkownika.
Główne możliwości:
przeglądanie katalogu książek;
uzyskiwanie informacji o książce;
prowadzenie własnej listy książek;
ocenianie przeczytanych książek;
administracja katalogiem.
⸻
3. Typy użytkowników
Gość
Może:
przeglądać katalog książek;
przeglądać informacje o książce;
wyszukiwać książki.
Zarejestrowany użytkownik
Ma wszystkie możliwości gościa, a także może:
utworzyć własne konto;
zalogować się;
dodać książki do osobistej biblioteki;
zmieniać status książki;
oceniać książki;
przeglądać stronę „Moje książki”.
Administrator
Ma pełny dostęp do katalogu książek:
dodawanie książki;
edycja informacji;
usuwanie książki.
⸻
4. Wymagania funkcjonalne
4.1 Rejestracja
System powinien umożliwiać tworzenie nowego konta.
Formularz rejestracji zawiera:
imię użytkownika;
email;
hasło;
potwierdzenie hasła.
Email musi być unikalny.
⸻
4.2 Logowanie
Użytkownik powinien mieć możliwość logowania się za pomocą emaila i hasła.
Po pomyślnym zalogowaniu otwiera się osobisty panel użytkownika.
⸻
4.3 Katalog książek
Katalog powinien wyświetlać listę książek.
Dla każdej książki należy wyświetlić:
okładkę;
tytuł;
autora;
gatunek;
średnią ocenę.
⸻
4.4 Wyszukiwanie
System powinien wspierać wyszukiwanie książek po tytule.
Jeśli książki nie znaleziono, wyświetlane jest odpowiednie powiadomienie.
⸻
4.5 Strona książki
Dla każdej książki powinna być osobna strona.
Na stronie wyświetlane są:
tytuł;
autor;
gatunek;
opis;
okładka;
średnia ocena;
ocena bieżącego użytkownika (jeśli została wystawiona).
⸻
4.6 Osobista biblioteka
Zalogowany użytkownik może dodać książkę do własnej biblioteki.
Dla każdej książki ustala się jeden z statusów:
Chcę przeczytać;
Czytam;
Przeczytano.
Jednocześnie książka może mieć tylko jeden status.
Użytkownik może zmienić status lub usunąć książkę ze swojej biblioteki.
⸻
4.7 Ocenianie książek
Użytkownik może ocenić książkę w skali od 1 do 5.
Jedna książka może być oceniana przez jednego użytkownika tylko raz.
Ocenę można zmienić.
Ogólna ocena książki jest automatycznie obliczana jako średnia wszystkich ocen użytkowników.
⸻
4.8 Profil użytkownika
W profilu wyświetlane są:
imię użytkownika;
email;
liczba książek w bibliotece;
lista dodanych książek.
⸻
4.9 Panel administracyjny
Administrator ma możliwość:
dodawania nowych książek;
edycji informacji o książkach;
usuwania książek;
przesyłania okładki książki.
⸻
5. Struktura danych
Książka
tytuł;
autor;
gatunek;
opis;
okładka;
ocena.
Użytkownik
imię;
email;
hasło.
Biblioteka użytkownika
użytkownik;
książka;
status;
ocena.
⸻
6. Wymagania niefunkcjonalne
Projekt powinien być zrealizowany z użyciem:
ASP.NET Core MVC;
C#;
Entity Framework Core;
SQL Server;
HTML;
CSS;
JavaScript.
Interfejs powinien poprawnie działać w nowoczesnych przeglądarkach i mieć responsywny design.
⸻
7. Kryteria akceptacji
Projekt uznaje się za zakończony, jeśli zrealizowano:
rejestrację i logowanie użytkowników;
przeglądanie katalogu książek;
wyszukiwanie książek;
stronę książki;
osobistą bibliotekę;
zmianę statusu książki;
ocenianie książek;
stronę profilu;
panel administracyjny do zarządzania katalogiem książek.