Skip to content

Documentation (PL)

Kacper Tonia edited this page Jun 15, 2020 · 4 revisions

Funkcjonalności

Autoryzacja

  1. Wsparcie dla uwierzytelnienia przez zewnętrzny serwis Auth0
  2. Brak autoryzacji i uwierzytelnienia w tzw. trybie Desktop (zalecane jedynie przy uruchamianiu aplikacji na lokalnym komputerze)

Przechowywanie danych

  1. Baza danych: SQLite
  2. Pliki przechowywane na dysku, w wyznaczonym do tego katalogu
  3. Zbierane dane o przesyłanych plikach:
    • data ostatniej modyfikacji
    • ID użytkownika przesyłającego
    • rozszerzenie

Przeglądanie mediów

  1. Obsługa różnych typów mediów:
    • Przeglądanie obrazów
    • Przeglądanie filmów
      • opcja globalnego wyciszenia filmów
      • włączenie/wyłączenie zapętlenia filmów
    • Panel pobierania widoczny w przypadku, gdy pliku nie można wyświetlić
  2. Wysuwany pasek boczny, pozwalający na sprawdzenie:
    • tagów
    • historii zmian obecnie oglądanego medium
  3. Oznaczanie wybranych plików jako ulubione.

Wyszukiwanie mediów

  1. Panel wyszukiwania na stronie głównej
    • Tagi typu "Include": wynik wyszukiwania musi pasować do każdego tagu (lub jego potomka) tego typu
    • Tagi typu "Exclude": wynik wyszukiwania nie może pasować do żadnego tagu (oraz jego potomka) tego typu
    • Przedział czasowy, do którego musi należeć wynik wyszukiwania
  2. Prywatne media: widoczne tylko dla użytkownika, który przesłał plik

Upload plików

  1. Dedykowana podstrona
  2. Możliwość podania listy tagów przy uploadzie pliku
  3. Możliwość oznaczenia pliku jako prywatny
  4. Prosta dedukcja tagów na podstawie nazwy przesyłanego pliku
    • jeśli nazwa pliku to "abc def-ghi.jpg", system uzna "abc" i "def ghi" za tagi
    • aplikacja spróbuje dopasować wydedukowane tagi do tagów istniejących w bazie danych
  5. Za tzw. timestamp pliku jest domyślnie przyjmowana data ostatniej modyfikacji

Rewizja plików

  1. Edycja tagów istniejącego pliku
  2. Popup otwierany podczas przeglądania galerii plików

Rewizja związków pomiędzy tagami

  1. Popup otwierany z poziomu paska nawigacyjnego
  2. Możliwość zmiany nazwy edytowanego tagu
  3. Możliwość zmiany dzieci bądź rodziców edytowanego tagu
  4. Wyświetlanie potomków oraz przodków edytowanego tagu

Statystyki

  1. Na stronie głównej: wykres ilości plików dodanych do systemu w zależności od czasu

Inne

  1. Częściowa responsywność
    • layout strony dopasowuje się do szerokości okna
    • niektóre komponenty nie współpracują z urządzeniami mobilnymi
  2. Powiadomienia o błędach

Architektura

Backend

  • API REST-owe oparte o ASP.NET Core 3
  • Testy jednostkowe

Frontend