2024-05-20 22:19:30
  • Hello!
  • Whats ya doin?
  • ByeBye

[&]

3.147.13.229

Projekt Restauracja. Implementacja modelu do aplikacji

task: #12-task-prj1.html

Implementacja modelu do aplikacji

Aplikacja, Model, Uzupełnianie danych, Weryfikacja

Przygotowanie

  1. Znasz rodzaje pól w Modelach Django (ich odpowiedniki w bazie danych)
  2. Umiesz przygotować oraz skonfigurować nowy Projekt oraz Aplikację w projekcie
  3. Przygotuj katalog projektu, np. Restauracja
1 Funkcjonalności do realizacji projektu

Zapoznaj się z funkcjonalnościami projektu następnie wykonaj zadania przydzielone przez Prowadzacego:

Jako klient chciałbym:

  1. chcę wygodnie wybrać jedną z dostępnych restauracji
  2. przeglądać menu dań wybranej restauracji
  3. zamówić z odbiorem osobistym, zarezerwować stolik na X osób w terminie Y, zamówić z dostawą
  4. zamówić własne danie zamiast z karty (na podstawie tego co jest w karcie - składniki)
  5. zobaczyć szczegóły wybranego dania (nazwa, zdjęcie, cena, kategoria, składniki)
  6. wskazać stolik przy którym siedzę i złożyć zamówienie (wybrać dania/produkty)
  7. tworzyć listę dań do zamówienia i dokonać zamówienia lub anulować zamówienie (jeżeli jeszcze oczekuje realizacji)
  8. zmienić zamówienie (jeżeli jeszcze można), np. dodać danie, dodać ilość, zabrać na wynos
  9. poprosić obsługę do stolika
  10. poprosić o rachunek lub o fakturę
  11. złóż zażalenie/reklamację

Jako pracodawca/właściciel sieci restauracji chciałbym:

  1. zarządzać pracownikami (zatrudnić zwolnić, zmieniać, sprawdzać)
  2. zarządzać stanowiskami pracy
  3. kontrolować/zarządzać grafikiem pracy
  4. zarządzać finansami: dokonywać wypłat, opłat, płacić faktury
  5. zarządzać dostawami
  6. układać harmonogram dostaw

Jako manager wybranej restauracji chciałbym:

  1. zarządzać grafikiem pracowników
  2. kontrolować stany magazynowe
  3. kontrolować utarg
  4. ewaluować (nadzorować) pracę pracowników
  5. zarządzać dostawami produktów
  6. zarządzanie promocjami
  7. zarządzanie eventami, rezerwacjami
  8. ustalanie limitów magazynowych dla produktów
  9. piłowanie pracownika na maksa ;)

Jako kucharz chciałbym:

  1. sprawdzać listę zamówień
  2. wybierać zamówienie do przygotowania
  3. zgłosić brak produktu, zepsucie produkt
  4. ustawić status do wydania

Jako obsługa (kelner) chciałbym:

  1. kontrolować stan zamówienia
  2. przyjąć płatność
  3. wydać zamówienie na wynos
2 Przydziały

K1-5 (BK)
K6-8 (KH)
K9-11 (KopJ)
P1-3 (JM)
P4-6 (MW)
M2,5,8 (KosJ)
M1,6,7 (GB)
Ku1-4 (MK)
Ke1-3 (DC)
Kalendarz do obsługi zdarzeń (na miesiąc, dni, godziny) (DO)
Generowanie PDF-ów z fakturami, Zamówieniami produktów, Rezerwacjami (KP)
	  
3 Zakładanie nowego projektu
  • Nazwa katalogu: Restauracja

  • Nazwa projektu: Restauracja

  • Nazwa aplikacji: ???

  • Nazwa superużytkownika: root

  • Hasło superużytkownika: 12345Ty#

4 Kroki implementacji
  1. Implementacja klas modeli w pliku ?/models.py

  2. Stworzenie/aktualizacja pliku ?/apps.py o klasę konfiguracyjną przechowującą identyfikator aplikacji*

  3. Rejestracja aplikacji w Projekcie - dopisz '?.apps.WYBRANA_NAZWA_KlasyConfig', we właściwej tablicy pliku settings.py

  4. Załącz plik URL Aplikacji w Projekcie - użyj '?.urls' we właściwej tablicy pliku urls.py Projektu

  5. Zarejestruj Modele danych w Panelu administracyjnym **

  6. Dodaj wpis wywołujący widok(i) Aplikacji

  7. Zaimplementuj widok Aplikacji - strony publicznej

*zawartośc pliku ?/apps.py

from django.apps import AppConfig

class WYBRANA_NAZWA_KlasyConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'WYBRANA_NAZWA'

**zawartośc pliku ?/admin.py

# ...
from .models import Dishes, Clients, Users

admin.site.register(Dishes)
admin.site.register(Clients)
admin.site.register(Users)
5 Migracja modeli oraz ich weryfikacja
  1. Wykonaj migrację stworzonych modeli

  2. Jeżeli trzeba - ustal odpowiednią kolejność klas w pliku z Modelami

  3. Zweryfikuj powstałą strukturę w pliku bazy danych SQLite3 programem DB Browser for SQLite (jeżeli trzeba - zainstaluj poleceniem: sudo apt-get install sqlitebrowser sqlite3)

6 Dodawanie wpisów poprzez panel

Stwórz użytkownika do administracji w panelu

Po jego utworzeniu - zaloguj się do panelu i przejdź do następnego podpunktu.

  • Nazwa superużytkownika: root

  • Hasło superużytkownika: 12345Ty#

Uzupełnij odpowiednią ilość wpisów w każdej ze wskazanych tabel danych

  • Odpowiednie tabele dla: Klientów, Dań oraz Użytkowników (tworzonej aplikacji, nie Panelu/systemu Django!)

Podsumowanie

  1. Czas: 11 listopada
  2. Realizacja: 1-osoba
  3. Zdanie: prezentacja prowadzącemu