Skip to content

Złożone zapytania do bazy danych

Marcin Włodarczyk edited this page Jan 23, 2021 · 23 revisions

Do zrobienia

Dokumentacja

  1. Simple CRUD - Grzegorz
  2. Product CRUD - Grzegorz

Front-end

  1. Dodać w navbar: [Marcin]

    • Statistics for products
    • Statistics for category
  2. Podpiąć back-end CRUD operations do: [Grzegorz]

    • Suppliers
    • Customers
    • Categories
  3. Dodawanie produktu: [Grzegorz]

    • uzupełnić o listę suppliera oraz listę categories
    • constrains: wszystkie pola trzeba podać,
    • discontinued przy dodawaniu zawsze false, zmienić discontinued z 0/1 na false/true
    • możliwość dodania kilku kategorii do jednego produktu
  4. Wyświetlanie informacji o produkcie: [Grzegorz]

    • pokazywać do jakich należy kategorii - GET '/api/products/:id/categories'
    • pokazywać do jakiego ma dostawcę - GET '/api/products/:id/suppliers'
  5. Wyświetlanie edycji produktu : [Grzegorz]

    • url - PUT '/api/products/:id'
  6. Order [Bartek]

    • constraints: nie można zamówić gdy discontinued, nie można zamówić więcej niż units in stock.
    • możliwość dodania kilku produktów
    • przy tworzeniu orderu ustalasz tylko jedną datę: OrderDate - order date w backendzie jako current date
  7. Dodać walidację do formularzy (jeśli starczy czasu)

Pozostałe

  1. CRUD dla Customer, Supplier, Category (done).
  2. CRUD dla Order (wszystko przesyłamy w body zapytania):
    1. (Create) Składanie zamówienia za pomocą formularza: (POST /api/orders)
      1. Ustawienie Order properties
      2. Wybranie z listy Customera
      3. Wybranie z listy Productów (wiele)
    2. (Read) Wyświetlenie wszystkich zamówień (wszystkie powyższe dane) (GET /api/orders)
    3. (Update) Edycja wszystkich pól (np. przy zmianie Customera, usunąć stare połączenie do poprzedniego Customera) (PUT /api/orders/:order)
    4. (Delete) Usuwanie zamówienia (DELETE /api/orders/:order)
  3. CRUD dla Product (wszystko przesyłamy w body zapytania).
    1. (Create) Dodawanie produktu (POST /api/products)
      1. Ustawienie Product properties
      2. Wybranie z listy Suppliera
      3. Wybranie z listy Categorii (wiele)
    2. (Read) Wyświetlenie wszystkich produktów (GET /api/products)
    3. (Update) Edycja wszystkich pól (PUT /api/products/:product)
    4. (Delete) Usuwanie produktu (DELETE /api/products/:product)
  4. Lista wszystkich produktów zakupiona przez danego Użytkownika (we frontendzie w tej samej zakładce co CRUD dla Customer) (w danym okresie czasu) [Grzegorz]
  5. Lista Użytkowników obsłużona przez danego Dostawcę (Supplier) (we frontendzie w tej samej zakładce co CRUD dla Supplier) (w danym okresie czasu) [Bartosz] - zrobione wykorzystując kilka zapytań do bazy: /api/suppliers/:id/customers/:from/:to/manyqueries oraz wykorzystując jedno złożone: /api/suppliers/:id/customers/:from/:to/onequery, wykorzystanie tego w przyszłości do pomiarów wydajności
  6. Statystyka przychodów dla poszczególnych produktów i ewentualnie później zagregowane dla kategorii (we frontendzie osobna zakładka Stats) [Marcin]