Kilka ważnych informacji
Przed przystąpieniem do rozwiązywania zadań przeczytaj poniższe wskazówki.
- Stwórz fork repozytorium z zadaniami.
- Sklonuj repozytorium na swój komputer.
- Rozwiąż zadania i skomituj zmiany do swojego repozytorium.
- Wypchnij zmiany do swojego repozytorium na GitHubie.
- Stwórz pull request do oryginalnego repozytorium, gdy skończysz wszystkie zadania.
Napisać aplikację, której celem będzie zarządzanie notatkami (wyświetlanie notatek, dodawanie notatek, edytowanie notatek). Aplikacja będzie zawierać logowania (przez devise'a). Notatka powinna mieć pola tytuł, tekst i powinna być powiązana z użytkownikiem, który ją dodał (hint: metoda current_user i has_many/belongs_to).
Uwaga! Na żadnym etapie pracy nie korzystaj ze scaffoldów.
- Stworzenie nowej aplikacji (o nazwie
NoteApp
) - Utworzenie kontrolera
HomeController
, który obsłuży stronę główną aplikacji - Dodanie do aplikacji devise'a i skonfigurowanie go
- Zabezpieczenie całej aplikacji
- Dodanie modelu
Note
z odpowiednimi polami - Dodanie relacji
has_many
/belongs_to
między User, a Note. - Utworzenie
NotesControllera
, ze standardowymi akcjami REST - z wyjątkiem zawężenia do wyświetlanych i tworzonych notek w scopiecurrent_user
. Podpowiedź:@notes = current_user.notes; @note = current_user.notes.find(params[:id])
- Utworzenie odpowiednich widoków dla NotesControllera
- Dodanie polonizacji i polskich komunikatów devise'a
- Poprawki wyglądu i stylu kodu
- (*) Na stronie
notes#index
wyświetlaj tylko 3 rekordy, używając https://github.com/amatsuda/kaminari
Zaimplementuj własny notatnik z kontaktami do znajomych zawierający ich numery telefonów, adresy email czy link do facebooka. Zadbaj o walidację email. Aplikacja ma się wyświetlać po wejściu na localhost:3000 (zdefiniuj w routes root). Do korzystania z aplikacji jest wymagane utworzenie konta i zalogowanie się (devise). Każdy użytkownik ma swoje osobne kontakty, powiązane z danym użytkownikiem (hint: metoda current_user i has_many/belongs_to).
Uwaga! Na żadnym etapie pracy nie korzystaj ze scaffoldów.
- Stworzenie nowej aplikacji (o nazwie
ContactApp
) - Utworzenie kontrolera
HomeController
, który obsłuży stronę główną aplikacji - Dodanie do aplikacji devise'a i skonfigurowanie go
- Zabezpieczenie całej aplikacji
- Dodanie modelu
Contact
z odpowiednimi polami - Dodanie relacji
has_many
/belongs_to
międzyUser
, aContact
. - Utworzenie
ContactsControllera
, ze standardowymi akcjami REST - z wyjątkiem zawężenia do wyświetlanych i tworzonych kontaktów w scopiecurrent_user
. Podpowiedź:@contacts = current_user.contacts; @note = current_user.contacts.find(params[:id])
- Utworzenie odpowiednich widoków dla ContactsControllera
- Dodanie polonizacji i polskich komunikatów devise'a
- Poprawki wyglądu i stylu kodu
- (*) Na stronie
contacts#index
wyświetlaj tylko 3 rekordy, używając https://github.com/amatsuda/kaminari
Repozytorium z ćwiczeniami zostanie usunięte 2 tygodnie po zakończeniu kursu. Spowoduje to też usunięcie wszystkich forków, które są zrobione z tego repozytorium.