VodFul jest serwisem umożliwiającym zakup subskrypcji w celu oglądania materiałów wideo.
Aplikacja współpracuje ze wszystkimi relacyjnymi bazami danych. Konfiguracja jest taka sama jak w dokumentacji Laravel.
Dostęp do bazy danych jest wymagany do poprawnego działania aplikacji
W celu otrzymania zdarzeń z platformy Stripe, aplikacja, jeśli działa na komputerze lokalnym, musi być połączona z chmurą przez Stripe CLI. Stripe oferuje poradnik instalacji CLI. Należy zainstalować CLI zgodnie z krokami tam przedstawionymi. Po instalacji, można zalogować się do stripe za pomocą komendy
stripe login
i uruchomić przekazywanie zdarzeń komendą
stripe listen --forward-to localhost:8000/stripe/webhook
Uwaga! Ta komenda musi działać przez cały czas testowania aplikacji
Panel zarządzania jest dostępny pod adresem https://dashboard.stripe.com/
W celu testowania można się zalogować używając danych dostępowych z pliku credentials.md
Aby odebrać testowe e-maile wysyłane z aplikacji można użyć aplikacji MailHog. Po instalacji (zgodnie z instrukcjami w repozytorium), należy uruchomić program wywołując jego główny plik, n.p.
~/go/bin/MailHog
Do interfejsu można uzyskać dostęp pod adresem http://0.0.0.0:8025/
Uwaga! Ta komenda musi działać przez cały czas testowania aplikacji, aby możliwe było odbieranie wysyłanych przez aplikację e-maili
Projekt używa PHP w wersji 8.1.6 Projekt używa Laravel w wersji 9.9.0 Projekt używa composer w wersji 2.2.7 Projekt używa Node.js w wersji 17.9.0 z npm w wersji 8.5.5
Po zainstalowaniu tych wymaganych narzędzi, należy zainstalować wymagane pakiety. Aby to zrobić należy wykonać:
composer install
npm install
Załączony z projektem plik .env
zawiera konfigurację środowiska
Najważniejsze parametry, które mogą ulec zmianie to:
Klucz służący do szyfrowania, można go regenerować komendą
php artisan key:generate
Dane do połączenia z bazą danych. Szczególnie istotne jest, aby ustawić poprawne dane, gdyż bez tego, aplikacja nie będzie działała poprawnie.
Domyślnie MAIL_HOST=mailhog
, należy zmienić na MAIL_HOST=localhost
, jeśli mailhog jest instalowany w sposób opisany powyżej.
Dla testowania przyjąłem MAIL_FROM_ADDRESS="admin@example.com"
Para kluczy służąca do połączenia ze Stripe. wartości do testów można znaleźć w pliku credentials.md
Aby zmigrować bazę danych należy uruchomić komendę:
php artisan migrate
Aby wypełnić bazę danych przykładowymi danymi należy wykonać komendę:
php artisan db:seed
Po zainstalowaniu wszystkich pakietów można uruchomić aplikację
Przed uruchomieniem:
- sprawdź poprawność konfiguracji w pliku
.env
- sprawdź, czy uruchomiony jest proces Stripe CLI
- sprawdź, czy uruchomiony jest proces MailHog
- sprawdź, czy baza danych jest dostępna i przygotowana
Aby uruchomić aplikację w trybie deweloperskim należy wykonać
php artisan serve
Serwer wypisze, pod jakim adresem jest dostępna aplikacja. Domyślnie jest to http://localhost:8000.
Po naciśnięciu przycisku REGISTER w pasku nawigacyjnym, otworzy się okno rejestracji. Po wypełnieniu formularza i zatwierdzeniu go przyciskiem REGISTER, zostanie wysłany email weryfikacyjny pod podany adres email. Wiadomość ta może być odebrana w programie MailHog. Bez weryfikacji adresu email nie można aktywować planu, a co za tym idzie, oglądać filmów.
Po rejestracji i odebraniu wiadomości w linkiem potwierdzającym email, należy w niego kliknąć, co potwierdzi adres email i jednocześnie zaloguje użytkownika.
Gdyby wiadomość nie dotarła, należy przejść do zakładki profilu. Jeśli użytkownik nie jest zweryfikowany, to zostanie wyświetlona prośba o zweryfikowanie adresu email z linkiem do ponownego wysłania wiadomości.
Logowanie następuje po kliknięciu przycisku LOGIN w pasku nawigacyjnym i podaniu poprawnych danych logowania.
Wylogowanie następuje po naciśnięciu przycisku LOGOUT.
W przypadku zapomnienia hasła, można kliknąć w link Forgot password?
poniżej formularza logowania. Potem, na podany w kolejnym kroku adres email, zostanie wysłany link umożliwiający zresetowanie hasła.
W aplikacji po pierwszym seedzie są dostępne 2 domyślne plany:
- Basic Plan
- Pro Plan
Użytkownik może wybrać jeden z nich, po tym wyborze zostanie przekierowany na platformę stripe w celu sfinalizowania płatności.
Wybór planu i pomyślny przebieg płatności są niezbędne w celu oglądania filmów.
Po sfinalizowaniu zakupu, użytkownik ma aktywny plan, staje się subskrybentem
Po zalogowaniu się, subskrybenci mogą przejść na stronę dowolnego filmu i go obejrzeć. Aby to zrobić wystarczy że klikną w dowolny obrazek filmu lub w strzałkę obok filmu w galerii na stronie głównej, lub w przycisk Radom movie!
na stronie głównej.
Kiedy film zaczyna być oglądany, automatycznie zapisuje się w Historii Oglądania
Żeby przeglądać filmy według gatunków należy wybrać z paska nawigacji pozycję Genres
i następnie wybrać gatunek, o który nam chodzi.
Filmy z danego gatunku ładowane są na zasadzie Infinite Scroll w ilości 16 na jedno zapytanie.
Informacja: Ilustracje do gatunków są dynamicznie dobierane przez stronę https://loremflickr.com/ i ich zawartość zmienia się z każdym załadowaniem strony.
Każdy z filmów może zostać dodany jako ulubiony do listy danego użytkownika. Jeśli chcemy to zrobić, należy kliknąć symbol +
(w przypadku miniatur filmów) lub przycisk Add to my favourites
(na stronie oglądania filmu)
Ulubione filmy można znaleźć w swoim profilu.
To miejsce do zarządzania profilem. W górnej części wyświetla się nazwa obecnie zalogowanego użytkownika i jego email.
W tym miejscu wyświetla się monit o wybór planu subskrypcji, jeśli użytkownik nie jest subskrybentem lub informacje o obecnym planie, jeśli jest subskrybentem.
Hasło można zmienić klikając w przycisk Change password
i wpisując stare oraz nowe hasło.
Jeśli chcesz usunąć konto, kliknij w Delete account
i potwierdź wyświetlony monit.
Uwaga! Tej akcji nie można cofnąć.
Tu można znaleźć filmy dodane do ulubionych
Tu można znaleźć filmy, które ostatnio oglądaliśmy.
Jeśli użytkownik został oznaczony jako administrator, to może on zarządzać najważniejszymi elementami strony
Aby przejść do panelu administracyjnego należy zalogować się na profil administratora i kliknąć w link w pasku nawigacyjnym admin
.
Dane do logowania do panelu administratora można znaleźć w pliku credentials.md
Po wejściu w panel zarządzania filmami, administrator widzi tabelę wszystkich filmów dostępnych na platformie
Użytkownik ma możliwość filtrowania listy po gatunku filmu, zmiany liczby rekordów wyświetlanych na stronę i wyszukiwania uwzględniającego tytuł, gatunek, rok premiery i opis filmu.
Przycisk clear filters
czyści wszystkie zmiany w tych polach.
Po naciśnięciu przycisku Create new movie
otwiera się strona dodawania nowego filmu.
Tam należy wypełnić wszystkie pola (opis może pozostać pusty) i przesłać formularz. W przypadku, jeśli formularz zawiera błędy, wyświetli się stosowny komunikat.
Aby usunąć film należy nacisnąć czerwony przycisk z ikoną kosza znajdujący się w tabeli wszystkich filmów.
Po usunięciu filmu wyświetli się komunikat dzięki któremu można go jeszcze przez kilka sekund przywrócić.
Po naciśnięciu przycisku z ikoną ołówka w tabeli, otwiera się strona edycji filmu. Tam należy zmienić pola, które chcemy edytować i przesłać formularz. W przypadku, jeśli formularz zawiera błędy, wyświetli się stosowny komunikat.
Po wejściu w panel zarządzania użytkownikami, administrator widzi tabelę wszystkich użytkowników zarejestrowanych na platformie
Użytkownik ma możliwość filtrowania listy po statusie użytkownika (czy jest administratorem), zmiany liczby rekordów wyświetlanych na stronę i wyszukiwania uwzględniającego imię i email użytkownika.
Przycisk clear filters
czyści wszystkie zmiany w tych polach.
Aby usunąć użytkownika należy nacisnąć czerwony przycisk z ikoną kosza znajdujący się w tabeli wszystkich użytkowników.
Po usunięciu użytkownika wyświetli się komunikat dzięki któremu można go jeszcze przez kilka sekund przywrócić.
Administratorzy mogą nadawać i odbierać rolę administratora innym użytkownikom. Aby to zrobić należy użyć przycisku w kolumnie is admin
Po wejściu w panel zarządzania użytkownikami, administrator widzi listę wszystkich planów na platformie.
Aby zmienić kolejność wyświetlanych planów, wystarczy użyć metody przeciągnij i upuść. Zmiany są zapisywane automatycznie.
Aby dodać nowy plan, najpierw należy go stworzyć jako produkt z przynajmniej jedną ceną z atrybutem recurring
w panelu Stripe.
Następnie, należy skopiować ID produktu z górnego prawego rogu panelu produktu w Stripe, jak pokazano na zrzucie ekranu poniżej.
Kolejnym krokiem jest naciśnięcie przycisku Add plan
i podanie ID produktu stripe i, opcjonalnie, nazwy planu. Jeśli nazwa nie zostanie podana, będzie używana nazwa z produktu stripe.
Plan można ukryć lub usunąć. W tej chwili obie te czynności powodują jedynie, że plan znika z listy dostępnych planów w wyborze planu użytkownika. Jednak, z użyciem logiki bazy danych, można usuwać plany oznaczone do usunięcia, jeśli wszyscy użytkownicy, którzy mieli ten plan przypisany przeszli na inne plany.
- sprawdź, czy do połączenia z aplikacją używasz adresu localhost:8000, a nie adresu IP (127.0.0.1). W przypadku korzystania z adresu IP filmy youtube są blokowane
The Laravel framework is open-sourced software licensed under the MIT license.
UIkit is open-sourced software licensed under the MIT license.