Ostatnio zauważyłem, że realizując różne projekty zdarza mi się dość regularnie powtarzać pewne operacje na początku tworzenia rozwiązania. Nie lubię powtarzalnych czynności, jeśli istnieje szansa na zautomatyzowanie ich. Dlatego też zdecydowałem się stworzyć szablon, dzięki któremu będę mógł oszczędzić trochę czasu w kolejnych projektach, a przy okazji podzielić się tym szablonem - być może dla kogoś okaże się przydatny

Strona główna Strona logowania Strona rejestracji

Strona główna; strona rejestracji i logowania

Dzięki zainwestowaniu jednej godziny na przygotowanie tego szablonu udało mi się zaoszczędzić wielokrotnie, przy rozpoczynaniu prac nad nowymi projektami.

Zazwyczaj podstawowa konfiguracja zajmowała mi około godziny, natomiast teraz wystarczy mi ok. 10 minut.

Co zawiera aplikacja?

Szablon opiera się na bazie PostgreSQL, którą można z powodzeniem wykorzystać w 99% przypadków tworzenia aplikacji w RoR. Zainstalowane i skonfigurowane jest także popularne narzędzie do autoryzacji użytkowników czyli Devise. Dzięki temu od razu można korzystać z rejestracji i logowania do systemu, jaki tworzymy. Kolejnym często wykorzystywanym rozwiązaniem związanym z przechowywaniem danych o użytkownikach jest gem CanCan, który zapewnia przydzielanie różnych ról, użytkownikom w systemie.

Po stronie front-endu dołączona jest biblioteka jQuery oraz framework Bootstrap. W szablonie zastosowany jest domyślny template dla Bootstrap w wersji 3.

Zastosowana wersja Ruby to 2.4.2, a wersja Ruby On Rails to 5.1.4.

Jakie narzędzia są dołączone do szablonu?

Do Rails Starter Pack dorzuciłem także kilka przydatnych narzędzi z których często korzystam przy tworzeniu aplikacji w Ruby On Rails.

  • Pierwszym z nich jest zastąpienie domyślnej biblioteki dla testów biblioteką RSpec. Subiektywnie uważam, że jest wygodniejsza dla programisty.
  • Dla łatwiejszego generowania danych testowych dołączyłem także gem Faker oraz Factory Bot Rails (dawniej FactoryGirl)
  • Dla analizy pokrycia kodu testami użyłem gem Simplecov
  • Statyczną analizę poprawności kodu zapewnia Rubocop
  • Dla sprawniejszego przenoszenia kodu na środowisko produkcyjne wykorzystałem gem Capistrano

Dość sporym ułatwieniem jest także, gem Nested scaffolds, który umożliwia generowanie podstawowych CRUD-ów dla zasobów zagnieżdżonych. Można dzięki temu pracować jeszcze szybciej.

Dzięki tym kilku narzędziom można zadbać o jakość kodu i ułatwić sobie zadania związane z pisaniem testów dla aplikacji.

Oczywiście ten konkretny zestaw wynika tylko i wyłącznie z moich osobistych upodobań. Nie jestem też zwolennikiem używania tych samych rozwiązań na wszystkie możliwe problemy. Do odpowiedniego gwoździa trzeba dobrać odpowiedni młotek, tak jak i do odpowiedniego projektu należy dobrać odpowiednie narzędzia.

Instrukcja obsługi

Jeżeli chcesz zastosować ten szablon dla własnego projektu:

1.Sklonuj repozytorium lokalnie

git clone https://github.com/kamil506/rails-starter-pack.git

2.Przejdź do folderu z aplikacją

cd rails-starter-pack

3.Zainstaluj zależności

bundle install

4.Stwórz bazę danych

rails db:setup

I gotowe! Aby zobaczyć uruchomić aplikację na lokalnej maszynie wpisz rails server, natomiast aby uruchomić testy rspec.

Co dalej?

Aby uzupełnić ten krótki wpis w najbliższym czasie planuję opisać instalację systemu Linux wewnątrz Windowsa (Windows Subsystem for Linux).
Oraz instalację języka Ruby oraz frameworka Ruby On Rails.

Zapraszam do udostępniania na social media i komentowania!