Skip to content

Latest commit

 

History

History
57 lines (49 loc) · 3.19 KB

README.md

File metadata and controls

57 lines (49 loc) · 3.19 KB

KulinarnaBaza

Uruchomienie projektu

docker compose up --build

Opis

Celem projektu było stworzenie aplikacji kulinarnej, czyli narzędzia dla miłośników gotowania, które oferuje wiele funkcji ułatwiających organizację i przygotowywanie posiłków. Główne funkcje aplikacji to między innymi dodawanie przepisów kulinarnych, artykułów i tworzenie planów posiłków na cały tydzień, również w celu umożliwienia użytkownikom odkrywania nowych pomysłów na potrawy oraz stworzenie społeczności kulinarnej. Użytkownicy mogą tworzyć i publikować swoje przepisy dodając zdjęcia, szczegółowe instrukcje, listy składników oraz wskazówki dotyczące przygotowania potrawy. Przepisy mogą być kategoryzowane według rodzaju dania oraz kuchni poprzez tagi. Program umożliwia również dodawanie artykułów kulinarnych na temat kuchni, technik gotowania, porad dietetycznych i innych tematów związanych z gastronomią. Komunikacja między użytkownikami polega na komentarzach umieszczanych pod danym wpisem. Umożliwia to wymianę doświadczeń i rekomendację. Zaawansowana funkcja wyszukiwania, pozwala na filtrowanie przepisów według różnych kryteriów, takich jak składniki, kuchnia, dieta czy nazwa przepisu. Aplikacja posiada funkcję organizacji planów posiłków na 7 dni, wybierając tydzień oraz dokładną datę, podczas przeglądania przepisu. Bardziej pobocznymi funkcjami są: dodawanie przepisów do ulubionych przez użytkownika i przeglądanie listy najpopularniejszych oraz najczęściej oglądanych przepisów, co pomaga w znalezieniu inspiracji i trendów kulinarnych

Zastosowane technologie

Front-end:

  • react-hot-toast - obsługa pop-upów
  • Emotion- react – pakiet z stylami
  • Mui-material – biblioteka z komponentami
  • framer-motion – biblioteka z płynnymi przejściami dla komponentów
  • react-icons - zbiór ikon
  • react-router-dom – routing w aplikacji
  • react-slick - obsługa karuzel obrazkowych
  • react-spinners - zbiór animacji używanych do ładowania
  • Axios – biblioteka umożliwiająca zapytania HTTP z poziomu aplikacji Node.js
  • React-datepicker – biblioteka umożliwiająca korzystanie z kalendarza jako komponent
  • ESlint - narzędzie do statycznej analizy kodu
  • Autoprefixer – dodaje prefiksy dostawcy w celu polepszenia kompatybilności na różnych przeglądarkach

Back-end:

  • Cors - umożliwia współdzielenie zasobów z serwerem na innej domenie
  • Nodemon – serwer testowy z automatycznym odświeżaniem
  • Pg – biblioteka do obsługi połączenia i zapytań związanych z bazą danych
  • Dotenv – moduł przechowujący dane wrażliwe jak hasła dostępu do bazy
  • express-session – biblioteka do obsługi sesji użytkownika
  • Rimraf – biblioteka użyta do obsługi polecenia rm – rf dla dockera w celu ponownego kompilowania typescrypta i usuwania starej wersji
  • Bcrypt – biblioteka do szyfrowania haseł z użyciem zaawanowanych metod szyfrujących
  • body-parser – biblioteka używana do pozyskania informacji z zapytania HTTP

image

image