Code Monkey home page Code Monkey logo

zeton's Introduction

ZETON

Aplikacja wspomagająca terapię behawioralną. System żetonowy przeznaczony dla dziecka/ucznia. Pozwala na zdobywanie punktów za wykonywane czynności oraz wymienianie ich na nagrody.

Cele aplikacji

  • Rozwijanie zachowań deficytowych (pożądanych)
  • Redukowanie zachowań niepożądanych
  • Generalizowanie i utrzymywanie efektów terapii w czasie

Wymagania

  • Python 3.7

Uruchomienie:

  • pip install -r requirements.txt - instalacja zależności
  • python recreate_db.py - stworzenie tabeli w bazie
  • python run.py - uruchomienie serwera

Testowi użytkownicy:

  • na ten moment użytkownicy i ich hasła zapisane są w wykomentowanym kodzie w recreate_db.py

Uruchamianie testów

  • Aby uruchomić testy, należy uruchomić polecenie pytest z głównego katalogu projektu.
  • Aby wyświetlały się w konsoli polecenia print() należy uruchomić testy poleceniem pytest -s

Triki (Linux)

  • W przypadku serwera Flaskowego, który odłączył się od PyCharma i nie da się go wyłączyć:
    1. netstat -tnlp wypisuje wszystkie używane porty
    2. fuser -k 5000/tcp ubija proces działający na porcie 5000

FAQ

  • Problemy z instalacją zależności: W przypadku problemów z zależnościami należy sprawdzić wersję pipa za pomocą komendy: pip --version Jeśli komenda zwraca informację o starszej wersji pytona na przykład: pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7) należy ściągnąć wersję pipa dla pythona 3.7 sudo apt-get install python3-pip i uruchomić komendę pip3 install -r requirements.txt
  • Problemy z wersją pythona W przypadku problemów z wersją pythona należy sprwadzić wersję pythona: python --version W przypadku gdy nasza wersja jest starsza niż 3.7 np. Python 2.7.15+ Należy zainstalować pythona 3.7 i używać komendy python3

zeton's People

Contributors

bizmarcin avatar gruszal avatar hannnak avatar leszekbulawa avatar macstan avatar patryklomza avatar pokojskamartyna avatar tgbdc7 avatar visse0001 avatar web-ski avatar zakonfeniksa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zeton's Issues

Iss55 use preprocessor sass, create scss files

  • zastosowanie do stylowania plików html preprocesora sass/scss
  • wyodrębnienie głównych plików scss (style.scss, variables.scss itp)
  • wyodrębnienie sekcji i komponentów do sprawniejszego stylowania poszczególnych elementów html

Sass jest programem napisanym w Ruby, dlatego trzeba go wpierw zainstalować:
dla Linux: sudo apt-get install ruby
Potem trzeba zainstalować sass:
dla Linux: sudo gem install sass
Konwertowanie do css odbywa się za pomocą komendy: sass
Jednorazowo poprzez wskazanie pliku źródłowego i docelowego:
sass style.scss style.css
Automatycznie za pomocą komendy watch:
sass --watch sass/style.scss:css/style.css
Przerwanie za pomocą: ctrl + c

Dodanie widoku bans_detail

Dodanie widoku szczegółowego dla kwadratu "warny i bany ".

  • utworzenie templatki "bans_detail.html"
  • utworzenie widoku "/bans_detail/<child_id>"
  • widok musi być zabezpieczony / dostęp jedynie dla zalogowanych oraz dla dziecka albo opiekuna dziecka
  • link do strony ma być umieszczony w górnej częsci bloku: Warny i bany. Na razie jako osobny napis "szczegóły". (będzie osobne zadanie na umieszczenie tego linku w odpowiednim miejscu)
  • W widoku szczegółowym musi znajdować topka strony " informacje o dziecku" imie, punkty, szkolny rekord tygodnia itp
  • W widoku szczegółowym ma być powtórzona informacja: wypisane wszystkie warny i bany (w późniejszym etapie będzie też tutaj wyświetlana historia)
  • strona "bans_detail" powinna być w tej samej kolorystyce co reszta stron
  • strona powinna być responsywna
  • powinny być przyciski "wyloguj" oraz "wróć"
    UWAGA - ten widok szczegółowy ma być taki sam dla opiekuna i dla dziecka: możliwość dania kicka/warna/bana przez opiekuna i dziecko. Na późniejszym etapie będziemy sprawdzać czy dany user ma uprawnienia do dawania kicka/warna/banów.
    UWAGA - zajmujemy się tylko jednym widokiem na raz. Zostaną dodane 4 zadania na wykonanie widoku szczegółowego dla każdej sekcji. (tasks, prizes, bans, school_points). Gdy mamy już wykonane zadanie wystawiamy PR

Dodanie widoku "prizes_detail"

Dodanie widoku szczegółowego dla kwadratu "wykorzystaj punkty".

  • usunięcie z obecnych stron w sekcji "wykorzystaj-punkty" informacji o max_day, max_week, max miesięcznie. (to zostanie przeniesione do widoku szczegółowego)
  • utworzenie templatki "prizes_detail.html"
  • utworzenie widoku "/prizes_detail/<child_id>"
  • widok musi być zabezpieczony / dostęp jedynie dla zalogowanych oraz dla dziecka albo opiekuna dziecka
  • link do strony ma być umieszczony w górnej częsci bloku: wykorzystaj punkty. Na razie jako osobny napis "szczegóły". (będzie osobne zadanie na umieszczenie tego linku w odpowiednim miejscu)
  • W widoku szczegółowym musi znajdować topka strony " informacje o dziecku" imie, punkty, szkolny rekord tygodnia itp
  • W widoku szczegółowym ma być powtórzona informacja o sposobach zdobywania punktów razem z takimi szczegółami jak: max_day, max_week, max_month (w późniejszym etapie będzie tutaj też wyświetlana historia wykorzystania punkótw)
  • strona "prizes_detail" powinna być w tej samej kolorystyce co reszta stron
  • strona powinna być responsywna
  • powinny być przyciski "wyloguj" oraz "wróć"
    UWAGA - ten widok szczegółowy ma być taki sam dla opiekuna i dla dziecka: możliwość wykorzystania punktów przez opiekuna i dziecko. Na późniejszym etapie będziemy sprawdzać czy dany user ma uprawnienia do wykorzystanie punktów.
    UWAGA - zajmujemy się tylko jednym widokiem na raz. Zostaną dodane 4 zadania na wykonanie widoku szczegółowego dla każdej sekcji. (tasks, prizes, bans, school_points). Gdy mamy już wykonane zadanie wystawiamy PR

Ekran logowania

Ekran logowania jest fatalny :)
Trzeba go zrobić zupełnie od początku, kto się podejmie?

Minimalne wymagania:

  • pole "login" i "hasło" podpisane
  • wyświetlona nazwa aplikacji
  • jakakolwiek szata graficzna (na razie nie ma nic)

utworzenie tabeli "points_history" + trigger

Utworzyć tabelę points_history w bazie danych, która będzie zapisywać wszystkie zmiany na polu points w tabeli useres

  • utworzyć tabelę points_history o polach:

  • id (ustawić sekwencję po wpisaniu danych startowych)

  • id_child(foregin keys z tabelą useres)

  • points_change - int zmiana w punktach na polu points / jeśli ujemna to z minusem

  • id_changing_user (foregin keys z tabelą users) - id urzytkownika, który dokanał zmian

  • points_name - pole tekstowe, gdzie będziemy wpisywać tytuł zmiany / obecnie zostawiamy domyślnie z napisem "points_name" - to pole będzie wykorzystawane w przyszłości

  • change_timestamp - czas zmiany punktów

  • Utworzenie triggera w bazie danych, który będzie wykonywał automatycznie takie wpisy

Uwaga - w tym zadaniu nigdzie nie wyświetlamy tych danych będzie założony na to osobny issue

Iss56 change naming methodology

Zmiana metodologii nazewnictwa elementów kodu html, w celu poprawy sprawności i czytelności ich stylowania w css.
Jako wytyczną przyjmuje się metodologię BEM: [https://en.bem.info/methodology/quick-start/]
Wg wzoru każdy tag powinien mieć nadaną klasę, gdyż stylowanie odbywa się po klasach.
Np:

<header class="header">    
    <div class="logo"></div>
    <form class="search-form"></form>
</header>

itp.

dodanie experience points

Dodajemy nową zmienną w bazie experience point - można zastosować skrót EXP. Będą to punkty doświadczenia, które stale będą rosnoć. Za każde dodanie punktów automatycznie zwiększamy o taką samą ilość punkty doświadczenia. EXP nie można nigdzie wykorzystać tzn, że nigdy nie będą maleć. W późniejszym etapie, będziemy na podstawie ilości EXP określać LEVEL.
Definition of done

  • modyfikacja tabeli users - dodanie kolumny exp
  • modyfikacja api - tak aby automatycznie dodawać punkty doświadczenia
  • wyśetlenie punktów exp na górze strony

wydzielenie pliku base.html

Części wspólne z templatek wydzielić do osbnego pliku base.html
W pozostałych plikach korzystać z rozszerzenia pliku bazowego base.html

error jeśli jesteś zalogowany jako dziecko

W momencie gdy jesteśmy zalogowani jako dziecko to wyskakuje błąd KeyError: 'ban'

modyfikacja widoku index w pliku 'view.py'
odpowiednia modyfikacja pliku 'index_child.html'

bład powoduje:
'''' if child['ban']:
context["time_ban_stop"] = (child['ban']['end'] - datetime.now()).seconds // 60
''''
obecnie mam inny strukturę słownika banow które przekazujemy przez zmiennna child

zmiana wyświetlania info o banie na gorze strony

zmiana stron "child_info.html" oraz "index_child.html" tak aby wyświetlać info o aktywnym warnie/banie. Wyświetlać ma się tylko jeden warn/ban ten o najwyższym stopniu.

Defintion of done:

  • wyświetlanie info o warnie banie jeśli aktywny na stronie "child_info.html"
  • wyświetlanie info o warnie banie jeśli aktywny na stronie "index_child.html"
  • wyświetlamy tylko jeden warn/ban - o najwyższym "ban_id"
  • wyświetlamy tekst "ban_name" oraz czast startu i czas konca ( z dokladnoscią minutową - bez sekund i milisekund)
  • tekst "ban_name" - wyświetlamy w kolorze czerwonym
  • gdy żaden warn/ban nie jest aktywny - wyświetlamy zielony napis "brak aktywnych warnów/banów"

modyfikacja api/bans

Zmodyfikowanie api bans w ten sposób, aby po wywołaniu funkcji give_kick, give_ban, give_warn powróciło na stronę z której funkcja została wywołana.

  • poprawne działanie dla zalogowanego opiekuna
  • poprawne działanie dla zalogowanego dziecka
  • Dodanie przycisków daj warna, daj kicka, daj bana w widoku szczegółowym

modyfikacja widoku ustawienia - link zmiana hasla

Obecnie na stronie ustawienia pojawia sie od razu formularz do zmiany hasla. Należy zmodyfikować stronę ustawienia tak aby na niej znajdował się link zmień hasło wówczas odpala się obecny formularz do zmiany hasła.

  • przenisienie formularza zmiany hasła do osobnego widoku
  • link do strony zmiany hasła jest dostępny na stronie ustawienia.
  • strona dostępna dla dziecka i opiekuna
  • utrzymanie kolorystyki
  • strona responsywna

jeśli są pytania - śmiało :)

dodanie strony Ustawienia

Link do strony dostepny po zalagowaniu.

  • Wypisanie informacji o użytkowniku (narazie jest tylko imię )

  • Możliwość zmiany hasła (trzeba podać aktualne hasło)

  • Nowe haslo ma być zapisane w bazie w postaci zahasowanej

dodanie przycisku do każdej opcji zdobycia punktów

Zmieniamy jedynie widok ogólny. Widok szczegółowy będzie dodany w nowy issue. Obecnie w sekcji Dodawaj punkty mamy jeden formularz gdzie wpisujemy liczbę punktów zdobytych. Celem tego zadania jest do każdego sposobu/zadania zdobycia punktów dodanie przycisku, który automatycznie będzie pobierał ilość punktów należną za dane zadanie. W przyszłości ten button zmaienimy na aktywny link itp

UWAGI

  • formularz na górze sekcji narazie pozostawiamy bez zmian.
  • Zmieniamy jedynie widok główny
  • Nie bierzemy pod uwagę zmiennych max_day ani max_week - będzie to treścią nowego issue

wyświetlanie czasu końca bana bez milisekund

Obecnie w różnych widkoach gdy jest aktywny ban to wyświetla sie czas z dokłądnością do milisekund. Na nasze potrzeby taka informacja jest zbędna.

  • wyświetlanie informacji o końca banu z dokładnością do sekundy - bez milisekund

  • taki format ma się wyświetlać we wszsytkich widokach

dodanie testu/testów aplikacji

Aplikacja się rozrasta. Potrzebujemy testów.
Aby zachęcić proponuję prosty issue:
Defintion Of Done:

  • dodanie jednego testu

Lista nagród do wykorzystania inna dla każdego dziecka

Nowa tabelka "prizes"
ma następujące kolumny:

  • id
  • id_child (foregin keys)
  • name
  • value (ilość punktów)
  • order_list (kolejność do wyświetlania - obecnie możemy stosować że najmnijesza wartość punktów jest wyświeltana u góry)
  • max_day ( ile danej nagordy możemy wykorzystać w ciagy 24h) - jeśli pole puste to bez ograniczeń
  • max_week (ile danej nagrody możemy wykorzystać na tydzień)- jeśli pole puste to bez ograniczeń
  • max_month (ile danej nagrody możemy wykorzystać na w miesiąc) - jeśli pole puste to bez ograniczeń

Definition of Done:

  • zmiana struktury bazy dancyh - dodanie tabeli "prizes"
  • wyswietlanie nagród z bazy dancyh

Poprawienie templatki - estetyki pliku child_info.html oraz index_child.html

minimalne wymaganie: poprawienie pola formularza przy dodawaniu punktów i wykrozystawaniu punktów tak aby nie zajmował całej szerokości diva, wówczas gdy korzystamy z przeglądarki na komputerze.
Wszelkie inne poprawki mile widziane.
Defintion Of Done:

  • pole formularza "wykorzystaj punkty" oraz "dodaj punkty" w pliku "child_info.htlm" nie zjamuje całej szerkości diva w momencie gdy korzystamy z przeglądarki na komputerze.
  • pole formularza "wykorzystaj_punkty" w pliku "index_child.html" nie zjamuje całej szerkości diva w momencie gdy korzystamy z przeglądarki na komputerze.
  • odpowiednia szerokosć pola formularza w moemncie gdy korzystamy z wersji mobilnej

kontrola `max_week`

W nawiązaniu do zadania:
#79 (comment)
Dodać do każdego przycisku sprawdzenie czy możemy zdobyć punkty za dane zadanie. Czy były już wykorzystywane w tym tygodniu. Sprawdzamy poprzez tabelę points_history. W momencie gdy nie możemy wykorzystać danej nagrody musimy dać znać poprzez flash message.

UWAGA tutaj sprawdzamy jedynie czy nie przekraczymy ilości zawartej w max_week w tabeli home_points

zmiana imienia

Modyfikacja imienia, które jest zapisane w bazie.

  • formularz do zmiany imienia dostepny jest pod linkiem na stronie ustawienia
  • wyświetlamy obecnę imię oraz informację na które zmieniamy.

dodanie kolumny `is_active` do tabeli `home_points`

Obecnie zbieramy wszystkie zadania z tabeli home_points. Musimy stworzyć osobną kolumną w tabeli, która pozowli nam stwierdzić czy dane zadanie jest jeszcze możliwe do wykonania.
Defintion of done:

  • dodanie kolumny is_active do tabeli home_points
  • dopuszczalne wartości w tej kolumnie to 0 lub 1
  • wyświetlanie zadania w sekcji dodanie_punktów w momencie gdy zadanie jest aktywne
  • ta sama funkcjonalność musi być dostepna w widoku ogólnym jak i szczegółowym
  • modyfikacja danych startowych

modyfikacja funkcji 'give_ban'

W momencie gdy chcemy dać bana, to sprawdzamy czy dziecko aktualnie ma już bana:

- jeśli nie: to dajemy bana tak jak do tej pory.

- Jeśli tak: to przedłuża czas obecnego bana o zadany czas np. 24h/(10min - w wersji testowej). Obecnie jest tak, że możemy dać 3 bany po kolei, a i tak wyświetla tylko tego ostatniego, a powinno być:
pierwszy ban: time_start1, time_end1
drugi ban : time_start1, time_end2 = time_end1 + zadany_czas
trzeci ban: time_start1, time_end3 = time_end2 + zadany_czas

proste wykorzystanie punktów

Sprawienie aby można było wykorzystać pynkty z wpisywaniem ilosci. Minimalne działanie. Mozna wykorzytać potrzebne funkcje z branchu "using_points"

Dodanie widoku "task_detail.html"

Dodanie widoku szczegółowego dla kwadratu "Dodawaj punkty/zdobywaj punkty".

  • usunięcie z obecnych stron w sekcji "sposoby na zdobycie punktów" informacji o max_day oraz max_week (to zostanie przniesione do widoku szczegółowego)
  • utworzenie templatki "task_detail.html"
  • utworzenie widoku "/task_detail/<child_id>"
  • widok musi być zabezpieczony / dostęp jedynie dla zalogowanych oraz dla dziecka albo opiekuna dziecka
  • link do strony ma być umieszczony w górnej części bloku: dodawanie punktów. Na razie jako osobny napis "szczegóły". (będzie osobne zadanie na umieszczenie tego linku w odpowiednim miejscu)
  • W widoku szczegółowym musi znajdować topka strony " informacje o dziecku" imię, punkty, szkolny rekord tygodnia itp
  • W widoku szczegółowym ma być powtórzona informacja o sposobach zdobywania punktów razem z takimi szczegółami jak "max_day" max_week (w późniejszym etapie będzie tutaj też wyświetlana historia)
  • strona "task_detail" powinna być w tej samej kolorystyce co reszta stron
  • strona powinna być responsywna
  • powinny być przyciski "wyloguj" oraz "wróć"
    UWAGA - ten widok szczegółowy ma być taki sam dla opiekuna i dla dziecka: możliwość oddania punktów przez opiekuna i dziecko (formularz widoczny). Na późniejszym etapie będziemy sprawdzać czy dany user ma uprawnienia do dodawania punktów.
    UWAGA - zajmujemy się tylko jednym widokiem na raz. Zostaną dodane 4 zadania na wykonanie widoku szczegółowego dla każdej sekcji. (tasks, prizes, bans, school_points). Gdy mamy już wykonane zadanie wystawiamy PR

Zmiana funkcjonalności warnów i banów

Zmiana funkcjonanalności KONSEKWENCJI: ( banów, warnów, kicków)

Stosujemy stopniowanie konsekwencji: poprzez wskażnik o odpowiednim nr (id_ban) .

  1. WARN - ostrzeżenie (nazwa czynności/konsewkencji zależna od dziecka)
  2. WARN - ostrzeżenie (nazwa czynności/konsewkencji zależna od dziecka)
  3. WARN - KICK (nazwa czynności/konsewkencji zależna od dziecka)
  4. WARN - BAN 2 stopnia tymczasowy na 30 minut. (nazwa czynności/konsewkencji zależna od dziecka)
  5. WARN - BAN 1 stopnia na 24h (nazwa czynności/konsewkencji zależna od dziecka)
    6 WARN - BAN 2 stopnia na 24h(nazwa czynności/konsewkencji zależna od dziecka)

Mamy 3 przyciski:

  1. DAJ WARN'a
  2. DAJ KICK'a
  3. DAJ BAN'a

AD1. WARN przekakuje po kolei od 1 do 6. W momenci gdy osiągnie odpowiedni poziom jest realizowane to co w nawiasie. Na którym poziomie warna ostrzeżenia jesteśmy możemy informować np innym kolorem czcionki.
AD2. KICK - od razu ustawia wskaźnik konsekwencji na poziomie 3.
AD3 BAN - ustawia wskaźnik konsekwencji na poziomie 6.

Zasady:
1.można dać kick bez warna
2.można dać bana bez warna
3.kick i ban daje się automatycznie gdy wskażnik konsekwencji przejdzie przez odpowiednie poziomy. 3 i 6
4. Warny - restują się po pólnocy - nastepny dzień.
5. Ban restuje się po skończeniu czasu: stop_time.
6. Danie bana w momencie gdy jest już ban powoduje wydłużenie czasu bana o 24h - do stop_time dodajemy 24h ( 10 minut w wersji testowej)

Defincja of done:

  • zmiana struktury bazy dancyh dwie tabelki bans oraz bans_name
  • w tabeli "bans" - mamy następujące kolumny: id, id_child (foregin), id_ban (liczba_od 1 do 6), start_time, stop_time
  • w tabeli "bans_name"- mamy nastepujące kolumny: id, id_child(foregin), id_ban, ban_name (nazwa konsekwencji zależna od dziecka)
  • dodanie przycisku "daj WARN'a" - oraz jego obsługa
  • dodanie przyskiu "daj KICK'a" - oraz jego obsługa
  • dodanie przycisku "daj BAN'a" - oraz jego obsługa
  • zmiana koloru czcionki zależna od wskażnika konsekwencji
  • automatyczne kasowanie warnów (oprócz 6 stopnia) po północy
  • automatyczne kasowanie bana (6 stopień konsekwencji) po upływie czasu stop_time
  • Danie kolejnego bana powoduje wydłużenie czasu o 24h
  • Danie kolejnego kicka gdy wskażnik konsekwencji jest na poziomie 3 lub większy - nie powoduje nic ( w poźniejszej wersji przycisk powinien być nieaktywny - szary)
  • Zmiana sposobu odczytu banów na stronie index_caregiver
  • Zmiana w tabelce "bans" odbywa się poprzez modyfikację (update) - nie przez dodanie kolejnego wpisu

Trochę tego wyszło - jesli są pytania zapraszam.

Dodanie widoku school_points_detail

Dodanie widoku szczegółowego dla kwadratu "Punkty ze szkoły ".

  • utworzenie templatki "school_points_detail.html"
  • utworzenie widoku "/school_points_detail/<child_id>"
  • widok musi być zabezpieczony / dostęp jedynie dla zalogowanych oraz dla dziecka albo opiekuna dziecka
  • link do strony ma być umieszczony w górnej części bloku: school points. Na razie jako osobny napis "szczegóły". (będzie osobne zadanie na umieszczenie tego linku w odpowiednim miejscu)
  • W widoku szczegółowym musi znajdować topka strony " informacje o dziecku" imie, punkty, szkolny rekord tygodnia itp
  • W widoku szczegółowym ma być powtórzona informacja: school points ze strony głównej (w późniejszym etapie będzie też tutaj wyświetlana historia)
  • strona "school_points_detail" powinna być w tej samej kolorystyce co reszta stron
  • strona powinna być responsywna
  • powinny być przyciski "wyloguj" oraz "wróć"
    UWAGA - ten widok szczegółowy ma być taki sam dla opiekuna i dla dziecka: możliwość dania punktów ze szkoły przez opiekuna i dziecko. Na późniejszym etapie będziemy sprawdzać czy dany user ma uprawnienia do dawania school points
    UWAGA - zajmujemy się tylko jednym widokiem na raz. Zostaną dodane 4 zadania na wykonanie widoku szczegółowego dla każdej sekcji. (tasks, prizes, bans, school_points). Gdy mamy już wykonane zadanie wystawiamy PR

Dodanie nowych danych startowych 'dziecko + opiekun'

Zadanie wstępne aby zaznajomić się z projektem. Takie na rozgrzewkę :). Należy dodać nowego opiekuna oraz nowe dziecko. Zmodyfikować powiniśmy jedynie plik 02_insert_user_data.sql. Zadanie idealne aby sprawdzić, które dane są wymagane przy tworzeniu nowego użytkownika. Polecam wykonać to zadanie przynajmniej raz. Wówczas każdy będzie mieć stworzone swojego użytkownika.

wyświetlania historii punktów w widoku `task_detail`

Wyświetlenie historii ostatnich 10 zdarzeń na punktach w widoku szczegółowym task_detail

  • w widoku szczegółowym dla danego child_id wyświetlania historii ostatnich 10 zdarzeń na punktach
  • jeśli nie ma tylu zdarzeń to wyświetlamy taką ilość jaka jest
  • wyświetlamy informację z tabeli points_history
  • wyświetlamy: liczbę punktów która się zmieniła, kto zmienił username oraz datę zmiany
  • wersji na komputer informację umieszczamy obok szczegółu punktów
  • strona ma nadal być responsywana. w wersji na male ekrany informacja o historii ma przejść poniżej informacji o punktach
  • dodać przycisk wróć - który został pominięty przy tworzeniu widoku szczegółowego

kontrola `max_day`

W nawiązaniu do zadania:
#79 (comment)
Dodać do każdego przycisku sprawdzenie czy możemy zdobyć punkty za dane zadanie. Sprawdzamy poprzez tabelę points_history. W momencie gdy nie możemy wykorzystać danej nagrody musimy dać znać poprzez flash message.

UWAGA tutaj sprawdzamy jedynie czy nie przekraczymy ilości zawartej w max_day w tabeli home_points

Lista punktów do zdobycia inna dla każdego dziecka

modyfikacja bazy dancyh tak aby każde dziecko miało osbną listę możliwość zdobywania punktów. Osbna tabela "home_points" - - maksymalnie 10 wpisów na dziecko
Definition of Done:

  • Nowa tabela "home_points":
  • id
  • id_child(foregin keys)
  • name(nazwa czynnosći)
  • value(ilość punktów)
  • order_list(przydatne do kolejności wypisywania - aktualnie możemy stosować im mniej punktów tym wyżej na liście, w przyszłości może być to wykorzytanie inaczej)
  • max_day
  • max_week
  • wypisywanie na stornie child_info listę punktów do zdobycia z bazy dla konkretnego dziecka

nowy wygląd strony child_info

Zmienić kolory zgodnie z tym jak na stronie logowania.
Podział na 4 bloki ma nadal być zachowany.
Bootstrap ma działać poprawnie ;)

Rozdzielenie użytkowników na różne "rodzaje"

Definition of done:

  • wprowadzenie rozróżnienia użytkowników ze względu na ich role i uprawnienia
  • w zależności od tego jaki użytkownik się zaloguje, na stronie głównej ma być to odnotowane:
    • dziecko widzi swojego opiekuna
    • opiekun widzi listę wszystkich swoich dzieci
  • stworzenie zestawów użytkowników do testów

Mam pytanie odnośnie nomenklatury: używamy dziecko i opiekun?

wydzielenie z tabeli `users` osobnej tabeli `main_points`

obecnie w tabeli users mamy następujące kolumny: id, username, password, role, firstname, lastname, points, last_insert_id, school_weekly_higscore, exp. W przyapdku gdy użytownikeim jest opiekun to pola z punktami są nie wykorzystywane. Zadanie polega na podzielenie tej tabeli na dwie: users oraz main_points. W pierwszej tabeli mają być zawrte informacje o użytkownikach a w drugiej informacje o punktach. Ułatwi to nam w przyszłości robienie migracji :).

Resetowanie hasla użytkownika

Link resetowania hasłą jest dostepny na stronie: ustwienia

  • Resetowanie hasla użytkownika za pomocą linka, który jest wysyłany na adres email.
  • ważność linku musi wygasać w momencie gdy wysyłamy następny.
  • link ma prowadzić do strony gdzie generujemy nowe haslo dla użytkownia

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.