Admin website | Strona Administartora |
---|---|
Witaj w panelu administracyjnym Kebapp! Ta strona została zaprojektowana, aby ułatwić zarządzanie informacjami o kebabach w Legnicy. Znajdziesz tu wszystkie niezbędne narzędzia do dodawania, edytowania oraz usuwania kebabów, a także do przeglądania ich lokalizacji na interaktywnej mapie. |
Nr | Wymaganie funkcjonalne panelu administratora |
---|---|
1 | Administrator zarządza bazą kebabów poprzez dedykowany panel administracyjny |
2 | Przy pierwszym logowaniu administrator musi stworzyć sobie hasło |
3 | Administrator widzi listę zgłoszonych sugestii i akceptuje je lub odrzuca |
4 | Administrator ma możliwość dodawania, edytowania i usuwania kebabów z bazy danych |
5 | Administrator może przeglądać szczegółowe informacje o każdym kebabie, w tym dane podstawowe i dodatkowe |
6 | Administrator może przeglądać i zarządzać linkami do social media dla każdego kebaba |
7 | Administrator może modyfikować statusy kebabów (otwarte, zamknięte, planowane) |
8 | Każdy kebab powinien mieć przypisane informacje podstawowe: |
8.1 | - Logo |
8.2 | - Nazwę |
8.3 | - Adres |
8.4 | - Koordynaty geograficzne |
8.5 | - Rok otwarcia i zamknięcia (jeżeli informacje są znane) |
9 | Każdy kebab powinien mieć przypisane informacje dodatkowe: |
9.1 | - Godziny otwarcia w poszczególnych dniach tygodnia |
9.2 | - Dostępne rodzaje mięs (kurczak, wołowina, baranina, falafel itp.) |
9.3 | - Dostępne sosy (czosnkowy, ostry itp.) |
9.4 | - Informację nt. statusu (punkt 3 OPZ) |
9.5 | - Informację, czy kebab jest "kraftowy" |
9.6 | - Informację, czy kebab jest ulokowany w nieruchomości, czy w "budzie" |
9.7 | - Informację, czy kebab jest oddziałem sieci kebabów |
9.8 | - Informację, jak można zamówić kebab (telefon, Pyszne, Glovo, Uber Eats, własna aplikacja/strona) |
Zagadnienia (issues) zostały zaimplementowane w celu efektywnego zarządzania rozwojem aplikacji Kebapp. Dzięki nim możliwe było:
Śledzenie Postępów
Dokumentacja Postępów
Komunikacja w Zespole
Priorytezacja Zadań
Nr Issue | Issue | Status |
---|---|---|
1 | Initialize Next.js project | ✅ |
2 | Create Admin Layout | ✅ |
3 | Create "Add kebab" view page | ✅ |
4 | Create "Map" page with Leafet | ✅ |
5 | Create a kebab management page with all the necessary components (Tabels Buttons) | ✅ |
6 | Create "Logs" view page | ✅ |
7 | Create Login form | ✅ |
8 | Create "Admin Messages" View page | ✅ |
9 | Create Edit form for kebabs | ✅ |
10 | Connected login to API | ✅ |
12 | Connect Add page to API | ✅ |
13 | Connect Manage page with API & Pagination | ✅ |
14 | Connect Map page with API | ✅ |
15 | Protect admin & logout API & create middleware | ✅ |
16 | Connect Api to log page & display logs | ✅ |
17 | Connect Edit form to API | ✅ |
18 | Connect Admin Messages page to API | ✅ |
19 | Frist Login create password | ⏳ |
20 | Perform a test with Cypress | ⏳ |
21 | Deploy website on Vercel | ✅ |
Obrazek | Opis |
---|---|
Widok głównej strony administratora na której administrator może akceptować bądź odrzucać zgłoszone sugestie | |
Widok strony zarządzania kebabami | |
Widok formularza edycji kebaba na którym administrator może edytować wszystkie dane o kebabie | |
Widok mapy z zaznaczonymi kebabami z bazy danych | |
Widok logów, rejestrowane są operacje takie jak (Dodawanie, edytowanie, likowanie itp), zarówno na stronie jak i w aplikacji | |
Widok strony dodawania kebabów do bazy danych |
Biblioteka/Framework | Opis | Link |
---|---|---|
Next.js | Framework React do budowania aplikacji renderowanych po stronie serwera. | Next.js |
React | Biblioteka JavaScript do budowania interfejsów użytkownika. | React |
Leaflet | Biblioteka JavaScript do interaktywnych map. | Leaflet |
js-cookie | Prosty interfejs API JavaScript do obsługi ciasteczek. | js-cookie |
React Hook Form | Biblioteka do zarządzania formularzami w aplikacjach React. | React Hook Form |
React Hot Toast | Biblioteka do wyświetlania powiadomień typu toast w React. | React Hot Toast |
Axios | Używany do wykonywania żądań HTTP do API w celu pobierania, usuwania oraz modyfikowania wiadomości. | Axios |
Tailwind CSS | Framework CSS typu utility-first do tworzenia niestandardowych projektów. | Tailwind CSS |
TypeScript | Używany do dodania statycznego typowania w projekcie, co pozwala na wcześniejsze wykrywanie błędów podczas kompilacji. Dzięki niemu łatwiej zarządzać typami danych, np. w hookach useState, które w tym przypadku przyjmują typy number i any[], co poprawia czytelność i bezpieczeństwo kodu. | TypeScript |
Do przeprowadzenia testów został wykorzystany Cypress
Aby uruchomić testy, upewnij się, że masz zainstalowane:
npx cypress run
, w trype graficznym npx cypress open
Projekt został wdrożony na platformie Vercel, ponieważ jest to idealne rozwiązanie dla aplikacji opartych na Next.js. Vercel oferuje automatyczne wdrożenia, łatwą integrację z GitHub oraz natywną obsługę funkcji Next.js, takich jak SSR (Server-Side Rendering) i SSG (Static Site Generation).
.env
z odpowiednimi danymi bazy danych.php artisan migrate
php artisan serve
npm run dev
<p align="center"">