Korepetycje online z Ruby/RoR - stwórz silnik e-commerce

Hej,

Organizuję grupowe korypetycje online z Ruby/RoR dla osób, które chciałyby się przebranżowić lub podszkolić (poziom junior/junior+). Pod moim okiem samodzielnie stworzysz zaawansowany silnik e-commerce, który będzie Twoją miłą wizytówką przed potencjalnym pracodawcą. Zdecydowanie nie jest to kurs (nie będę prowadzić Cię za rączkę!), a bardziej obóz przetrwania w symulowanych warunkach normalnej pracy. Będziesz pracować w oparciu o taski produktowe rozpisane jak w prawdziwym projekcie, pisać dużo specek, czytać dużo dokumentacji oraz kombinować z resztą grupy jak osiągnąć określony efekt.

Nie wierzę w przedstawianie prawd objawionych w programowaniu - aby zrozumieć pewne mechanizmy, wzorce jak i antywzorce trzeba ten kod przepuścić przez palce. Stąd często nad jednym taskiem będziesz pracować kilka razy - używając różnych technik. Niekiedy specjalnie Cię “wpędzę w maliny”, abyś poznał różnice pomiędzy dobrze napisaną klasą, a złą na własnej skórze.

Spotykamy się dwa razy w tygodniu na callu (każde spotkanie trwa dwie - trzy godziny). Na spotkaniu:

  • wspólnie przechodzimy przez wiszące pull requesty (robię review - Wy zadajecie pytania - ja wyjaśniam)
  • przegadujemy następny/obecny task
  • robię wprowadzenie do nowego zagadnienia (np. SOLID). Jest prezka, live coding itd.

Każdy call nagrywam i udostępniam Wam do obejrzenia, więc jeśli nie będziesz mógł być na spotkaniu to nic straconego.

Co powienieneś umieć nim dołączysz do grupy:

  • HTML/CSS na poziomie pozwalającym pracować swobodnie z Bootstrapem 4
  • podstawy Ruby i Rails 4+. Powinieneś już teraz umieć samodzielnie stworzyć aplikacje typu blog/księgarnia i w miarę rozumieć co się tam dzieje pod spodem
  • język angielski na poziomie czytania ze zrozumieniem dokumentacji technicznej

Jeśli jesteś kompletnie zielony to nic straconego. Odezwij się do mnie na PW, podrzucę Ci materiały do przerobienia.

Funkcjonalności jakie stworzysz i czego się nauczysz:

Store front

  • wyświetlenie produktów ze zdjęciami
  • wyszukiwarka full-text
    • przy okazji poznasz spektrum rozwiązań oraz ich wady i zalety
  • koszyk produktów
  • zakup produktu oraz dokonanie płatność
    • zaimplementujesz multi step checkout
    • zintegrujesz sklep z bramką płatniczą:
      • prostą (Stripe)
      • bardziej skomplikowaną - polski provider, gdzie trzeba już samemu zbudować oraz zaszyfrować payload, obsłużyć request oraz callback
  • kupony promocyjne
  • grupowanie produktów po kategoriach

Admin

  • wyszukiwarka rekordów na podstawie zadanych parametrów
    • przejdziemy przez dwa popularne rozwiązania oraz ich wady i zalety
  • dynamiczne warianty produktów
  • zarządzanie stanami magazynowymi
  • użytkownicy oraz ich role
    • wykorzystasz pundita do autoryzacji użytkownika
    • zbudujesz od podstaw ACL, które pozwolą na dawanie bardzo granularnych uprawnień do zasobów sklepu
  • obsługa zamówień w aplikacji
    • nauczysz się jak zarządzać stanem rekordu w aplikacji tak aby nie stracić głowy
    • zaimplementujesz event logger
  • zarządzanie produktami
    • skonfigurujesz ActiveStorage pod upload zdjęć na S3
    • skonfigurujesz ActionText
  • zarządzanie kategoriami
    • zaimplementujesz bulk update
  • asynchroniczna obróbka zdjęć oraz wysyłka e-maili do klientów

API

  • stworzysz RESTowe API z autentykacją oraz paginacją

Podczas pracy nad projektem wykorzystasz:

  • dekoratory
  • dry-rb stack
  • service objects
  • workery
  • serializery
  • wzorce projektowe

Skupimy się również na umiejętnościach moim zdaniem kluczowych dla developera:

  • testowanie. Co i jak testować? Dobre i złe praktyki przy pisaniu unit/request/integration specek.
  • pracy z dokumentacją
  • debuggowanie
  • SOLID / OOP
  • czytanie cudzego kodu (innych kursantów jak i gemów)
  • pracy w zespole
  • zaradność
  • zadawanie pytań :slight_smile:

Skończenie aplikacji powinno Ci zająć ~6-9 miesięcy.

Pracujemy w oparciu o kilka zasad:

  1. W grupie pomagamy sobie nawzajem - tak samo jak w pracy.
  2. Jesteśmy dla siebie mili, kulturalni i profesjonali - tak samo jak w pracy.
  3. Zanim zadamy pytanie szukamy odpowiedzi w Google - tak samo jak w pracy.
  4. Przykuwamy bardzo dużą uwagę do jakości kodu. Każdy Pull Request musi “być na zielono” z rubocopem, posiadać napisane specki oraz przejść code review - tak samo jak w pracy.

Kilka słów o mnie:

  • Programuję komercyjnie w Ruby od 7 lat, a od 5 zajmuję się dodatkowo nauczaniem.
  • Byłem mentorem na workshopach Netguru, Rails Girls czy Code Sensei.
  • Nauczanie i programowanie to moje dwie pasje, a ich połączenie sprawia mi ogromną frajdę :).
  • Mój LinkedIn: https://www.linkedin.com/in/oskarlakner/

Koszt to 1250 zł netto / mc (wystawiam FVAT), dla osób, które zdecydują się przed 15.04.2020 - 1000 zł netto / mc. Jeśli masz jakieś pytania to się nie wahaj i pisz do mnie PW.

Brzmi bardzo interesująco, ale jak miałbym wydać 1000zł miesięcznie to potrzebuję więcej informacji. Podałeś przykładowe tematy, a jakie są inne tematy? Czy to są najciekawsze z nich, które stanowią 20% całości, czy to jest 80%? Jakie tempo i jaki czas na taki material przewidujesz? Słowem, przydałby się konkretny program.

3 Likes

Dziękuję za feedback. Do końca tygodnia zaktualizuję post o bardziej szczegółowe informacje :+1:

Dołączam sie .
Myślę, że należało by również rozważyć podejście indywidualne - zapewne znajdą sie takie osoby. Tym bardziej że niektórzy pracują i nie zawsze znajdzie sie czas czy naukę w danym momencie.
Czy przewidujesz takie rozwiązania również.

Weekly calle nagrywam, abyście mogli je później na spokojnie obejrzeć, więc jeśli Cię nie będzie to raczej nic się nie stanie :slight_smile:

Mogę spróbować, jestem zainteresowany.

1 Like

@dzanusz @Jasoczy @tom_debek zaktualizowałem główny post o dodatkowe informacje.

Zostało mi 1 miejsce w grupie - jeśli jest ktoś z Was zainteresowany to zapraszam do kontaktu - ostatni dzwonek aby się zapisać - od poniedziałku zamykam zapisy :v: