Sprawdź szczegółowe informacje wybranego zlecenia i zgłoś swoją ofertę.
Opis projektu
Aplikacja, która będzie rozbudowanym konfiguratorem produktów/komponentów gotowych oraz wytwarzanych (składających się z innych produktów/komponentów gotowych lub wytworzonych )
Wymagania ogólne
Backend
Django 4.2.*
Python 3.11.*
Postgresql 14 (wraz z konfiguracją)
Celery
Redis
Instalacja na Linux Ubuntu Serwer (Nginx, Gunicorn, Supervisor)
Frontend
Frontend zbudowany na systemie szablonów django z wykorzystaniem TAILWINDCSS
Stylizowanie powinno odbywać się w szablonach, nie w kodzie aplikacji (bez korzystania crispy-django-forms lub django-jinja), dopuszczone django-widget-tweak
Bez wykorzystania freamworków typu React, Angular, JQuery itp
Żądania ajaxowe z wykorzystaniem HTMX
Interakcje z wykorzystaniem ALPINEJS
W minimalnym zakresie dopuszczony VanillaJS
Responsywność - aplikacja powinna być dostosowana do różnych rozmiarów ekranów i urządzeń
Aplikacja powinna działać i być w pełni przetestowana
Minimalna ilość zewnętrznych aplikacji (tylko uzasadnione przypadki)
Kod powinien zawierać klarowne komentarze.
Przekazanie własności kodu źródłowego aplikacji wraz z pełną dokumentacją kodu źródłowego, w tym opis funkcji.
Dostarczenie instrukcji instalacji i konfiguracji.
Wymagamy odpowiednich zabezpieczeń, takich jak ochrona przed atakami XSS i SQL injection, CSRF, oraz innymi zagrożeniami.
Zostanie udostępniony wyjściowy szkic projektu na github zawierający:
Strukturę projektu
Wyjściowy wygląd
Modele wraz z polami
Szczegółowe opisy szablonów i widoków.
Wymagania funkcjonalne
Aplikacja: accounts
Customowy system autoryzacji oparty na emailu
Aplikacja: components
Aplikacja powinna umożliwiać dodawanie, przeglądanie, aktualizowanie i usuwanie (soft delating) informacji o komponentach. Komponenty mogą być samodzielne jak i składać się z innych komponentów
Walidacja wprowadzanych danych na poziomie szablonu i modelu
Możliwość wyszukiwania i dodawania składników komponentu wraz z potrzebną ilością. Cena total składnika to cena komponentu * ilość.
Jeżeli Komponent składa się z innych komponentów powinno być dodane podsumowanie składników a koszt total składników powinien być sumą jego składników plus marża plus ryczałt, plus transport plus licznik.
Jeżeli cena komponentu różni się do ceny podsumowania składników wówczas powinien pojawić się alert.
Możliwość generowania raportów na temat komponentów gdzie “koszt total składników” używanych w komponencie jest większy niż ustawiona cena.
aplikacja powinna umożliwiać dodawanie, przeglądanie, aktualizowanie i usuwanie informacji o zakupach komponentów. Powinna umożliwiać wprowadzenie daty, waluty, kwoty, SKU, ilości zakupionych komponentów oraz informacji o dostawcy
Wyszukiwarka komponentów po nazwie komponentu, kategorii, kodzie produktu, producencie, dostawcy
Filtrowanie listy komponentów po kolumnach listy
Zabezpieczenie przed dostępem nieautoryzowanych użytkowników do informacji o produktach (na poziomie modelu, widoku, szablonu) oparte na nazwach grup uprawnień