Coder Social home page Coder Social logo

yoursenseicreeper / mariopizzaoriginal Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 0.0 4.3 MB

Command line pizzeria management application. It provides authentication, user roles, role-depend functions and casual filtering data.

C# 100.00%
command-line-app windows sqlite3 restaurant-management pizzeria authentication ioc repository-pattern ormlite

mariopizzaoriginal's People

Contributors

yoursenseicreeper avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

mariopizzaoriginal's Issues

ServiceStack.Ormlite.MySql test

Zainstalować nugeta na nowym branchu i sprawdzić czy i w jaki sposób repozytoria się zmienią. Plusy, minusy i ograniczenia wylistować w komentarzu

Pole "uwagi" w encji Order

Przydatne gdy na przykład dojazd do posesji jest utrudniony, są jakieś inne specjalne warunki, które należy opisać

Obsługa pustych zamówień

Aktualnie program wywala się podczas obliczania ceny i wyświetlania elementów zamówienia, które to nie ma tych elementów. Program powinien obsłużyć taki stan

Filtry pozwalają na anulowanie edycji

W obecnej formie filtry nie pozwalają na wycofanie się z wpisywania nowych danych. Można albo je usunąć, albo wprowadzić nowe nadpisując tym sposobem stary filtr.

Dump data dla bazy jako resource .txt

Dla każdej tabeli / DAOsa będzie wczytywać się txt - jeżeli go nie będzie, poda się pusty string czy coś takiego. Dzięki temu oprócz danych o produktach pojawią się dane o innych rzeczach. Skąd dane o produktach ciągle siedzą w tej bazie mimo, resetu? A może to dodawanie do bazy Order nadpisuje poprzedni wpis?

Co da się wyciągnąć z obecnego frameworka?

Interesuje mnie głównie czy obecny framework lub jego podprojekty są w stanie obsłużyć połączenie z bazą MySQL lub Oracle?
Alternatywnie, czy można do tego wykorzystać bazę noSQL np. Mongo? W końcu zamówienie i podzamówienia to idealny przykład na to, że nie będzie żadnych zależności pomiędzy pozostałymi elementami. (oprócz klienta / pracownika, który jest zapisywany tam raz na dobre)

Baza klientów z danymi ułatwiającymi dostawę

Stworzyć tabelę client i reposytorium dla clienta, encję odpowiedzialną za przechowywanie danych klienta. Jeżeli zamówienie zostało stworzone przez klienta powinno zostać oznaczone jego id, pole opcjonalne.

System uprawnień - logowanie za pomocą loginu i hasła

Należy stworzyć tabelę "user" w bazie i dodać tam użytkowników - przede wszystkim roota, dodać kolumnę z hashem hasła - hashowanie hasła to kolejna rzecz do zrobienia. A przede wszystkim poziom uprawnień jako cyfrę (enumy dziedziczące po User)

API serwera

Wypisać jakie metody powinny mieć dostęp publiczny, jakie prywatne z autoryzacją hasłem, jakie przyjmować argumenty, co zwracać. (przyda się diagram)

Pomoc Mateusza we frontendzie

Mateusz jest w stanie mi pomóc z frontendem projektu. Pytanie, czy jeżeli client będzie zrobiony w Angularze, czy nie będzie mieć z tym problemu? Jeżeli tak, to mogę zachęcić tym, że ten framework używany jest w projektach biznesowych.
Muszę określić w jaki sposób miałby dokładać swoją część do tego projektu, opisać workflow pracy na githubie i z tym repozytorium. Być może - rozbić projekt na dwa repozytoria, serwer i client'a.

Zależne od: #24, #22

logowanie zdarzeń z log4net

Pytanie czy logować zdarzenia do osobnej konsoli czy do pliku. Trochę czasu zajmie zanim poprawnie skonfiguruję loggera. Warto, bo na pewno wykorzystam to narzędzie w przyszłych projektach!

ServiceStack.Ormlite.Oracle test

Zainstalować nugeta na nowym branchu i sprawdzić czy i w jaki sposób repozytoria się zmienią. Plusy, minusy i ograniczenia wylistować w komentarzu

Nowy system tworzenia ról i przydzielania im uprawnień

Nie może tak być, że zostawiam tylko kilka enumowych typów kont. Użytkownik sam powinien móc określić jakie konta oraz z jakimi prawami chce mieć. Potrzebne będzie stworzenie nowej tabeli, repozytorium z funkcją przetwarzania surowych danych na listę praw.

Wykorzystanie Angulara

Czy jest możliwe wykorzystanie Angulara do tworzenia frontendu / middleendu? Angular tworzy clienta z tego co się orientuję. To w takim razie dowiedzieć się trochę więcej o samej technologii i wypisać tutaj wnioski oraz czy jest możliwe zastosowanie go w projekcie

Niepoprawne naliczanie kosztu zamówienia

Klasa OrderRepository, metoda CalculatePriceForOrder(int orderid)
Istnieją dwa (trzy) rozwiązania:

  • przebudować to zapytanie tak, żeby liczyło poprawnie cenę, próbowałem, średnio wychodzi.
  • liczyć cenę po stronie aplikacji, a nie po stronie bazy, co wiąże się z wyciąganiem wszystkich odpowiednich (po orderId i orderElementId potrzebnych rzeczy i wykonaniu pętli) - w tym wypadku może to trochę więcej zająć - warto się zastanowić, czy faktycznie nie jest to możliwe po stronie bazy.
  • trzecią opcją jest faktyczne pobieranie wszystkich danych i liczenie potem kwoty zamówienia. Jeżeli wyciągamy to podsumowanie, zazwyczaj wyświetlamy listę produktów i podproduktów, więc i tak trzeba je wyciągnąć z bazy.

Merge do trunka, naprawa konfliktów

Po zakończeniu tworzenia filtrów i implementacji wzorca Ioc należy zmergować brancha do trunka, by móc swobodnie zająć się innymi zadaniami na innych branchach.

wzorzec testów jednostkowych

Wystarczy niewiele, ale warto nad tym trochę przysiedzieć. Jeżeli na tworzenie wzorca testów dla konsoli wyjdzie za dużo czasu, skupić się na testach ADO (naprawić błąd z niedostępnością bazy) i testach logiki.

ServiceStack.Ormlite.PostgreSQL test

Zainstalować nugeta na nowym branchu i sprawdzić czy i w jaki sposób repozytoria się zmienią. Plusy, minusy i ograniczenia wylistować w komentarzu

Sortowanie w filtrowaniu

Dać możliwość wykonania operacji OrderBy (nazwaKolumny) użytkownikowi, gdzie nazwę kolumny może wybrać samodzielnie z listy kolumn podanej w konstruktorze Filtra. Może wybrać po nazwie lub po wyświetlonym numerze obok nazwy.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.