> Strona automatycznie zmigrowana z systemu Eduwiki z wykorzystaniem Pandoc # Serwis z przepisami kulinarnymi {#serwis_z_przepisami_kulinarnymi} ## Skład zespołu, podział ról i prac {#skład_zespołu_podział_ról_i_prac} \|\| **Lp.** \|\|\|\| **Imię i nazwisko** \|\|\|\| **Nr indeksu** \|\|\|\| **Rola w zespole** \|\| \|\| 1 \|\|\|\| Dawid Mańkowski \|\|\|\| 426185 \|\|\|\| Product Owner, Back-end Developer, obsługa serwera back-end, obsługa bazy danych, zarządzanie [EduWiki](EduWiki "wikilink") \|\| \|\| 2 \|\|\|\| Rafał Tutak \|\|\|\| 413656 \|\|\|\| Front-end Developer, obsługa serwera front-end, prezentacja na obronę pierwszego przyrostu, prezentacja na obronę projektu Obsługa i zarządzanie systemem JIRA \|\| \|\| 3 \|\|\|\| Borys Kałuża \|\|\|\| 430537 \|\|\|\| Back-end Developer, obsługa serwera back-end, obsługa bazy danych \|\| \|\| 4 \|\|\|\| Daniel Kuryło \|\|\|\| 426172 \|\|\|\| Stylowanie serwisu (CSS Styled components), Szata graficzna (mockup) \|\| ## Krótki opis projektu {#krótki_opis_projektu} Celem projektu jest stworzenie serwisu internetowego - \"Recipe-Search\" zawierającego bazę przepisów kulinarnych z popularnych blogów. Główną funkcjonalnością serwisu będzie wyszukiwanie przepisów na podstawie wpisanego słowa klucza. Możliwe będzie również wyszukiwanie przepisów na podstawie zdefiniowanych w serwisie filtrów i kategorii. Dla Użytkowników udostępniony zostanie system rejestracji oraz logowania. Zalogowany Użytkownik będzie mógł oceniać przeglądane przepisy, oraz z poziomu widoku własnego profilu podgląd ocenionych przepisów. Dla użytkownika zostanie również udostępniona funkcjonalność kalkulatora BMI. Głównymi odbiorcami projektu są osoby w przedziale wiekowym 16-60 lat. Celem projektu jest umożliwić ludziom, którzy lubią gotować i chcą uzyskać dostęp do ciekawych przepisów kulinarnych z najpopularniejszych stron internetowych i blogów o tematyce kulinarnej w jednym miejscu. ## Wykorzystane technologie {#wykorzystane_technologie} 1. Front-end: ` a. React.js`\ ` a. `[`JavaScript`](JavaScript "wikilink")\ ` a. `[`HTML5`](HTML5 "wikilink")`, `[`CSS3`](CSS3 "wikilink") 1. Back-end: ` a. C# (ASP.NET Framework)`\ ` a. Postresql` ## Narzędzia 1. Visual Studio (backend) 2. Visual Studio Code (frontend) 3. phpPgAdmin 4. Postman 5. [GitHub](GitHub "wikilink") 6. JIRA 7. Photoshop 8. [MarvelApp](MarvelApp "wikilink") ## Mockup ## Repozytorium #### Backend #### Frontend ## JIRA ## Prezentacja 1. Pierwszy przyrost: 2. Obrona projektu: ## Wstępny harmonogram prac {#wstępny_harmonogram_prac} 1. VI Semestr: - - Zakres systemu - Konfiguracja repozytoriów Github (front-end, back-end) - Prototyp systemu - Wdrożenie oprogramowania do śledzenia postępu projektu i zarządzania projektem (JIRA) - Dostosowanie bazy danych do naszych potrzeb - Projekt wizualny strony - Back-end - webAPI z danymi o wyszukiwanych przepisach oraz o pojedynczym, wybranym przepisie - Front-end - prosta wyszukiwarka, z widokiem pojedynczego przepisu - Refaktoryzacja kodu - Parsowanie danych o składnikach i opisach przepisów do bazy danych - Przygotowanie prezentacji na obronę 1. VII Semestr: - - Dopracowanie widoku kart, listy wyszukiwania, widoku pojedynczego przepisu - Stworzenie brakujących podstron serwisu - Dopracowanie wyszukiwarki (zawężanie wyników wyszukiwania - kategorie, składniki itp.) - Rejestracja i logowanie, sesja użytkownika (auth0) - Dodanie funkcji i tagów - Dopracowanie widoku menu bocznego kategorii - Stworzenie karuzel z poradami kuchennymi i okazjami - Dopracowanie wyglądu layoutu strony - Parsowanie danych o składnikach i opisach przepisów do bazy danych - cd. - Funkcjonalność oceniania przepisów - Responsywność aplikacji na urządzenia mobilne - Kalkulator BMI - Bieżąca implementacja endpointów API (np. przepis dnia, przepis tygodnia, modyfikacja istniejących endpointów etc.) - Refaktoryzacja kodu - Przygotowanie prezentacji na obronę ## User Stories {#user_stories} - US1: Jako Użytkownik chcę wyszukiwać w serwisie przepisy na podstawie podanego słowa klucza - US2: Jako Użytkownik chcę wyszukiwać w serwisie przepisy na podstawie nazwy składników. - US3: Jako Użytkownik chcę wyszukiwać w serwisie przepisy na podstawie kategorii i filtrów dostępnych w serwisie. - US4: Jako Użytkownik chcę mieć możliwość zarejestrowania swojego konta w serwisie. - US5: Jako Użytkownik chcę mieć możliwość zalogowania się do mojego konta w serwisie. - US6: Jako Użytkownik chcę oceniać przepisy dostępne w serwisie. - US7: Jako Użytkownik chcę mieć możliwość obliczać w serwisie wartość BMI mojego ciała. - US8: Jako Administrator chcę mieć możliwość konserwacji, naprawiania usterek oraz utrzymywania prawidłowego działania serwisu. - US9: Jako Administrator chcę mieć możliwość zarządzania bezpieczeństwem serwisu. ## Aktorzy i ich cele {#aktorzy_i_ich_cele} #### Aktorzy podstawowi {#aktorzy_podstawowi} \|\| **Aktor** \|\|\|\| **Cele** \|\| \|\| Użytkownik \|\|\|\| Wyszukiwanie przepisu na podstawie wybranych produktów \|\| \|\| \|\|\|\| Wyszukiwanie przepisu na podstawie słowa klucza\|\| \|\| \|\|\|\| Wyszukiwanie przepisu po nazwie składników\|\| \|\| \|\|\|\| Wyszukiwanie przepisu po kategoriach i filtrach\|\| \|\| \|\|\|\| Obliczanie wartości BMI \|\| \|\| \|\|\|\| Rejestracja i logowanie \|\| \|\| \|\|\|\| Ocenianie przepisów (dla zalogowanych)\|\| \|\| Administrator \|\|\|\| Administracja/konserwacja serwisu, naprawa usterek \|\| \|\| \|\|\|\| Zarządzanie bezpieczeństwem serwisu \|\| \|\| \|\|\|\| Ocena oczekujących treści \|\| #### Aktorzy wspomagający {#aktorzy_wspomagający} \|\| **Aktor** \|\|\|\| **Cele** \|\| \|\| Serwisy kulinarne \|\|\|\| Udostępnianie przepisów kulinarnych do bazy danych naszego serwisu \|\| #### Aktorzy zewnętrzni {#aktorzy_zewnętrzni} \|\| **Aktor** \|\|\|\| **Cele** \|\| \|\| Firma hostingowa \|\|\|\| Udostępnianie usług hostingowych \|\| ## Lista IN/OUT {#lista_inout} \|\| **Kategoria** \|\|\|\| **IN** \|\|\|\| **OUT** \|\| \|\| Typ aplikacji \|\|\|\| Webowa (lecz responsywna na urządzenia mobilne) \|\|\|\| Mobilna \|\| \|\| Język systemu \|\|\|\| Polski \|\|\|\| Pozostałe \|\| \|\| Baza danych \|\|\|\| Dynamiczna (możliwość dodawania danych do bazy) \|\|\|\| Statyczna (brak możliwości dodawania danych do bazy) \|\| \|\| Wyszukiwanie \|\|\|\| Na podstawie słowa klucza \|\|\|\| Pozostałe \|\| \|\| \|\|\|\| Po nazwie składników\|\|\|\| \|\| \|\| \|\|\|\| Po kategoriach i filtrach\|\|\|\| \|\| \|\| Kalkulator \|\|\|\| BMI \|\|\|\| pozostałe \|\| \|\| Ocenianie przepisów \|\|\|\| Użytkownik zalogowany \|\|\|\| Użytkownik niezalogowany \|\| ## Słownik projektowy {#słownik_projektowy} \|\| **Pojęcie** \|\|\|\| **Definicja** \|\| \|\| BMI \|\|\|\| Body Mass Index, czyli Wskaźnik Masy Ciała. Jest to współczynnik powstały przez podzielenie masy ciała podanej w kilogramach przez kwadrat wysokości podanej w metrach \|\| \|\| Danie \|\|\|\| Potrawa, posiłek, powstały w wyniku przygotowania przy pomocy przepisu \|\| \|\| Kalkulator BMI \|\|\|\| Narzędzie pozwalające na obliczenie wskaźnika BMI swojego ciała na podstawie wpisanych wartości: wzrostu oraz wagi \|\| \|\| Kategoria \|\|\|\| Uporządkowany, nazwany zbiór zebranych zasobów odpowiadających konkretnym parametrom \|\| \|\| Konto Użytkownika \|\|\|\| Miejsce Użytkownika w Serwisie pozwalające na gromadzenie własnych danych, oraz listy ocenianych przepisów \|\| \|\| Lista zakupów \|\|\|\| Uporządkowana lista produktów, które należy zakupić w celu przygotowania dania \|\| \|\| Logowanie do serwisu \|\|\|\| Czynność, którą musi wykonać Użytkownik, aby otrzymać pełne prawa do korzystania ze wszystkich funkcjonalności Serwisu \|\| \|\| Produkt \|\|\|\| Wszystko, co jest przeznaczone do spożycia lub przygotowania potraw \|\| \|\| Przepis \|\|\|\| Uporządkowana lista czynności oraz potrzebnych składników pozwalająca na przygotowanie posiłku \|\| \|\| Serwis \|\|\|\| Grupa powiązanych ze sobą interaktywnych stron internetowych o spójnej tematyce (kulinarnej) \|\| \|\| Rejestracja w serwisie \|\|\|\| Inaczej założenie Konta Użytkownika, które przechowuje podane w formularzu rejestracyjnym dane oraz preferencje Użytkownika określone w trakcie korzystania z Serwisu \|\| \|\| Strona główna serwisu \|\|\|\| Startowa strona internetowa pełniąca funkcję reprezentacyjną serwisu. Znajdują się na niej odniesienia do wszystkich funkcjonalności serwisu \|\| \|\| Wyszukiwarka \|\|\|\| Narzędzie pozwalające na przeszukiwanie serwisu pod kątem oczekiwanej treści \|\| \|\| Ocena\|\|\|\| Wystawiona przez użytkownika opinia na temat danego przepisu w skali 1-5 gwiazdek \|\| \|\| Filtry, kategorie\|\|\|\| Udostępnione dla użytkownika w serwisie opcje pozwalające na zawężanie wyników wyszukiwania do najbardziej interesujących w danym momencie \|\|