Pierwszy większy projekt

Znam już w podstawowym stopniu Rubiego i Railsy - mam za sobą parę
dobrych tutoriali, jedną książkę i kilka małych projektów/skryptów,
czyli jakiegoś minibloga albo CRUDA.
Teraz chciałbym zrobić coś ala
Kwejk z kilkoma własnymi pomysłami. Chcę wszystko zrobić w 100% samemu
od Bootstrapa i ładnych formularzy po kod w Railsach obsługujący bazy
danych (graficznie będzie ubogo, ale ma być schludnie i ładnie, a przede
wszystkim funkcjonalnie).

Głównie to zależy mi na tym, żeby zrobić to tak jak naprawdę robi się projekty w Railsach + nauczyć się przy tym jak najwięcej.
O co chciałem zapytać…

  1. Jak to rozplanować? Od czego zacząć? Od schematu bazy danych, potem
    zrobić modele czy zacząć od front-endu, zrobić widoki i wstępny
    szkielet, a potem implementować funkcjonalności?

  2. Z czego korzystać? W sensie z jakich rzeczy/technologii korzystają Developerzy.
    Np. wiem, że należy testować, a do testów dobrze użyć RSpeca. Co jeszcze
    z tego typu rzeczy?

  3. Gemy. Korzystać maksymalnie z gemów? Czy
    przeciwnie, pisać samodzielnie? Jest np. gem Devise dzięki któremu łatwo
    można zaimplementować autoryzację, wysłać link aktywacyjny nowym
    użytkownikom itp.
    Zaznaczam, że chodzi o wartość edukacyjną takiego
    projektu, a nie o jego bezpieczeństwo itp. Ale też chcę się uczyć
    dobrych praktyk - tego jak się tworzy w Railsach.

  4. O jakich rzeczach trzeba pamiętać? Np. jak z tymi testami. Gdybym nie przeczytał w
    tutoriali, że należy testować od początku) i warto RSpec wykorzystać, i wykorzystać
    TDD można, to bym nie wiedział. Rozumiecie… po prostu z doświadczeniem
    przybywa wiedza pt. ‘jak porządnie tworzyć w RoR’.

(Nie)stety mam pewien background w PHP, ale w takim ‘brzydkim’ PHP, gdzie dużo
rzeczy pisało się samemu (zamiast wykorzystać np Symfony), MVC było
traktowane po macoszemu, widoki mieszały się z danymi, nikt nie dbał o
bezpieczeństwo itp. Chcę teraz wykorzenić te złe nawyki i pisać tak jak
się należy.

Nie ukrywam, że jak skończę chcę mieć konkretny, fajny projekcik do portfolio :slight_smile:

Więc wykorzystanie czego może być plusem u ew. pracodawcy/rekrutera? Jakieś
ostatnie trendy w Railsowym świecie, które nawet początkujący mógłby
wykorzystać z powodzeniem w swoim projekcie i przy okazji się czegoś
ciekawego nauczyć?

Wiadomo, że potem warto
wszystko wrzucić na GitHuba i postawić na Heroku. Jakieś inne tego typu
platformy, które Railsowiec powinien znać?

Jak to rozplanować? Od czego zacząć? Od schematu bazy danych, potem
zrobić modele czy zacząć od front-endu, zrobić widoki i wstępny
szkielet, a potem implementować funkcjonalności?

Zacznij od frontendu, i powoli zaczynaj podpinac backend

Gemy. Korzystać maksymalnie z gemów? Czy
przeciwnie, pisać samodzielnie? Jest np. gem Devise dzięki któremu łatwo
można zaimplementować autoryzację, wysłać link aktywacyjny nowym
użytkownikom itp.
Zaznaczam, że chodzi o wartość edukacyjną takiego
projektu, a nie o jego bezpieczeństwo itp. Ale też chcę się uczyć
dobrych praktyk - tego jak się tworzy w Railsach.

O wiele wiecej sie nauczysz piszac samemu. Na railscasts.com jest duzo fajnych video pokazujacych jak zrobic alternatywe dla popularnych gemow.

Wiadomo, że potem warto
wszystko wrzucić na GitHuba i postawić na Heroku. Jakieś inne tego typu
platformy, które Railsowiec powinien znać?

Postaraj sie robic pull requesty, bo raz ze sie nauczysz, a dwa ze zawsze go mozesz podlinkowac na forum z prosba o komentarz czy cos co zrobiles jest ok.

1 Like

To ja pójdę o krok dalej i od razu podlinkuję do http://nvie.com/posts/a-successful-git-branching-model/. :wink: Warto wyrobić w sobie nawyk tworzenia feature branches. Raz, imho dobrze jest mieć jeden branch, gdzie wszystko zawsze działa i merdżować do niego dopiero skończone i przetestowane ficzery, a dwa, tak jak pisze Sławosz: jak utkniesz, robisz pull request i linkujesz do niego na forum/stack overflow. Powodzenia z projektem!

4 Likes