Cibaria
Języki: Java, Angular
[UWAGA] Backend tego projektu jest hostowany w usłudze darmowego poziomu. Uruchomienie po pierwszym żądaniu może chwilę potrwać.
Cibaria to nowoczesna, pełnofunkcjonalna aplikacja zarządzania przepisami zaprojektowana, aby ożywić kulinarną kreatywność. Zbudowana z solidnym backendem Spring Boot i dynamicznym frontendem Angular, zapewnia bezproblemową platformę do odkrywania, udostępniania i zarządzania przepisami z przyjaciółmi i innymi pasjonatami gastronomii.
Kluczowe funkcje
- Pełne zarządzanie przepisami: Użytkownicy mogą tworzyć, edytować i udostępniać szczegółowe przepisy, w tym składniki, kroki, informacje odżywcze i obrazy z obsługą przeciągnij i upuść.
- Bezpieczny system użytkownika: Posiada uwierzytelnianie oparte na JWT, spersonalizowane profile użytkowników i kompleksowy panel administracyjny do zarządzania użytkownikami i przepisami.
- Zaawansowane wyszukiwanie i filtrowanie: Potężny silnik wyszukiwania umożliwia filtrowanie przepisów według kategorii, poziomu trudności, czasu przygotowania i składników.
- Internacjonalizacja (i18n): Pełna obsługa dwujęzyczna dla angielskiego i polskiego, w tym dynamiczne przełączanie języka i inteligentne tłumaczenie jednostek (np. „tsp" na „łyżeczka").
Architektura
Projekt podąża za klasyczną architekturą klient-serwer, zapewniającą wyraźne rozdzielenie problemów między frontendem i backendem.
Frontend (Angular)
frontend/
├── src/app/
│ ├── components/
│ ├── services/
│ └── Interface/
├── public/
│ ├── i18n/
│ └── images/
└── styles.css
Backend (Spring Boot)
backend/
├── src/main/java/
│ ├── recipe/
│ ├── user/
│ ├── auth/
│ ├── admin/
│ └── config/
└── resources/
└── application.yml
Wdrażanie i infrastruktura
Aplikacja jest wdrażana przy użyciu rozproszonej infrastruktury chmury, aby zapewnić niezawodność i wydajność:
- Frontend: Hostowany na Vercel dla szybkiego, globalnego dostarczania i bezproblemowego CI/CD.
- Backend: API Spring Boot jest wdrożone na Render.
- Baza danych: Zarządzana instancja PostgreSQL hostowana na AWS RDS zapewnia trwałość i bezpieczeństwo danych.
Użyte technologie
JavaSpring BootAngularPostgreSQLREST API