Giter VIP home page Giter VIP logo

ror-workshops's Introduction

Logo

Warsztaty: Ruby on Rails

Kilka ważnych informacji

Przed przystąpieniem do rozwiązywania zadań przeczytaj poniższe wskazówki.

Jak zacząć?

  1. Stwórz fork repozytorium z zadaniami.
  2. Sklonuj repozytorium na swój komputer.
  3. Rozwiąż zadania i skomituj zmiany do swojego repozytorium.
  4. Wypchnij zmiany do swojego repozytorium na GitHubie.
  5. Stwórz pull request do oryginalnego repozytorium, gdy skończysz wszystkie zadania.

Zadania:

Wybierz jeden z dwóch projektów (lub jeżeli zdążysz - możesz oczywiście zrobić oba ;) ):

Warsztat: aplikacja do prowadzenia prostych notatek.

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.

Etapy pracy:

  1. Stworzenie nowej aplikacji (o nazwie NoteApp)
  2. Utworzenie kontrolera HomeController, który obsłuży stronę główną aplikacji
  3. Dodanie do aplikacji devise'a i skonfigurowanie go
  4. Zabezpieczenie całej aplikacji
  5. Dodanie modelu Note z odpowiednimi polami
  6. Dodanie relacji has_many/belongs_to między User, a Note.
  7. Utworzenie NotesControllera, ze standardowymi akcjami REST - z wyjątkiem zawężenia do wyświetlanych i tworzonych notek w scopie current_user. Podpowiedź: @notes = current_user.notes; @note = current_user.notes.find(params[:id])
  8. Utworzenie odpowiednich widoków dla NotesControllera
  9. Dodanie polonizacji i polskich komunikatów devise'a
  10. Poprawki wyglądu i stylu kodu
  11. (*) Na stronie notes#index wyświetlaj tylko 3 rekordy, używając https://github.com/amatsuda/kaminari

Warsztat: książka adresowa

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.

Etapy pracy:

  1. Stworzenie nowej aplikacji (o nazwie ContactApp)
  2. Utworzenie kontrolera HomeController, który obsłuży stronę główną aplikacji
  3. Dodanie do aplikacji devise'a i skonfigurowanie go
  4. Zabezpieczenie całej aplikacji
  5. Dodanie modelu Contact z odpowiednimi polami
  6. Dodanie relacji has_many/belongs_to między User, a Contact.
  7. Utworzenie ContactsControllera, ze standardowymi akcjami REST - z wyjątkiem zawężenia do wyświetlanych i tworzonych kontaktów w scopie current_user. Podpowiedź: @contacts = current_user.contacts; @note = current_user.contacts.find(params[:id])
  8. Utworzenie odpowiednich widoków dla ContactsControllera
  9. Dodanie polonizacji i polskich komunikatów devise'a
  10. Poprawki wyglądu i stylu kodu
  11. (*) 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.

ror-workshops's People

Contributors

dominikalberski avatar esse avatar

Watchers

James Cloos avatar

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.