4.2 KiB
CEL PROJEKTU
Pracuje nad projektem, ktory ma pomóc w zarządzaniu produkcja.
STOS TECHNOLOGICZNY
frontend:
Frontend jest oparty o quasar. Chce wykorzystać mozliwosc stwowrzenia aplikacji na telefon. quasar jest oparty o vue, ktory jest przyjemny w programowaniu. Jezyk to Javascript.
backend:
Backend jest podzielony na dwie czesci. Frontend bedzie sie komunikowal z directus, ktory zarzadza baza danych i udostepnia api dla frontendu.
Jest tez drugi backend oparty o fastapi, ktorym jedymym zadaniem jest pobranie danych ze starego systemu bazowego. stary system nie ma wystawionego api do bazy danych, dlatego przy uzyciu fastapi stworzylem endpoint, ktory scrapuje dane z strony w php. w tym momencie wystawiony jest jeden endpoint, ktory przyjmuje numer zamowienia i zwraca pelna specyfikacje produktu. numer zamowienia jest specyficzny i zawiera trzy liczby, ma postac XXXX/YYYY/ZZ, gdzie XXXX jest numerem wewnetrznym zamowienia, YYYY jest rok przyjecia zamowienia, a ZZ jest liczba w zakresie 1-99, ktore opisuje pozucje produktu w zamowieniu. moze sie zdazyc, ze jest kilka zamowien o tm samym numerze XXXX, ale z innego roku YYYY.
WIEDZA PROGRAMISTY
developer projektu jest jednoosobowy programista, ktory nie pracuje w tej branzy i wszystko co wie, to sam sie nauczyl, metoda prob i bledow. wspomaga sie scztuczna inteligencja. Porgramista preferuje zrozumienie dzialania kodu i aplikacji, bardziej niz gotowe rozwiazania. Programista chce poznac rozwiazania stosowane w profesjonalnych aplikacjach, a nie tylko "dzialajacy" kod. Programista ma dosc slabe rozeznanie w jezyku javasript, ale swietnie rozumie jezyk C i python, wiec rozumie jak dziala kod, ale moze miec problemy ze zroumieniem skladni javascript, trzeba czasem mu to wyjasnic. Programista preferuje clean code i paradygmat SOLID. Z checia pozna wzorce projektowe stosowane w profesjonalnych pordukcjach.
APLIAKCJA
Aplikacja ma za zadanie ulatwic zarzadzniem produkcji jak i stworzyc baze produktow, ktore sa juz w produkcji i te ktore juz jakis czas temu zostaluy zrobione. da to mozliwosc oceny stosowanych metod produkcyjnych jak i weryfikowanie produktow wykorzystanych w produkcji.
MVP
W pierwszej kolekjnsci chce stworzyc aplikacje webowa na telefon. Bieżacy cel, to wystartowanie pierwszej dzialajace wersji. Strona web ma wyswietlac liste produktow dodanych do bazy danych. kazdy produkt, na tej liscie, ma miec podstawowe informacje takie jak: nr zamowienia (XXXX/YYYY/ZZ), Model produktu, odbiorca (klient), przypisane listy produkcyjne, forme malowania (finish) i historie wykonaia i uzytch do tego srodkow chemicznych. koniczna jest mozliwosc wyszukiwanie i filtrowania listy po numerze zamowinia, odbiorcy, sposobie wykonczenia, listy produkcyjnej, modelu. lista ma byc "ciagla" lista, bez paginacji. pelna specyfikacja bedzie wyswietlana w dodtakowym oknie. waznym elementem ma byc latwosc dodawamnia kolejnego elementu do historii produkcji. jezeli ten proces bedzie wymagal za duzo od uzytkownika, to nie bedzie wykorzystywany i ta apliakcja starci sens.
obency stan projektu
frontend ma stworziny wyglad na urzadzenia mobilne. ma stworzona liste produktow z docelowym wygladem. brakuje funkcjonalnosci. kod jest w tym momencie chaotyczny. Developer skupil sie na oczekiwanym wygladzie. powoli bedzie refaktoryzowal kod. jest stworzonuy layout quazar z przewidzianym oknem (right-drawer) na dodatkowe informacje. sa stworzony trzy podstawowe panale, ktore sa wyswietlane w prawym drawerze.
Backend (fastapi) do scrapowania danych jest dzialajacy i wystawia jeden endpoint, ktory przeszukuje stary system i zwraca pelna specyfikacje produktu. mozliwe, ze beda potrzeben dodatkowe endpointy.
Backend (directus) ma stworzona baze danych. Scheme bazy danych nie jest ostateczna i bedzie podlegac modyfikacjom. Planowane sa customowe endpointy jak i wykorzystanie flow directuasa. Plan jest taki, zeby directus komunikowal sie z backendem fastapi gdy dostanie informacje o stworzeniu nowego recodu produktu o numerze zamowinia, ktorego jescze nie ma w bazie danych.
wiele plikow w katalogu projektu jest utworzona w ramach testowania rozwiazna (proof of concept).
plik project.md ma opis co zawiera projekt. plik db_schema.dbml ma auktualna strukture bazy danych