Making the leap from tutorial to real-life application
What I've shown so far is a generic application we called a Case management system at the beginning of this guide.
What if I wanted to make my product? In the group I'm mentoring during this edition, we decided to build a crowd-sourced tracker of what politicians say and do. The idea is to have an online service where journalists would create profiles of politicians and post, over time, all the statements and actions (with a verifiable source) that can be related to a politician.
If we make an abstraction general enough, it doesn't really matter what things are called, what matters is how they are displayed and labeled. With only a few changes I can make the system become a tool of political transparency in the Republic of Moldova.
Let's take it step by step.
Relabeling the registration and sign in forms.
I only do a superficial relabeling in the views/devise/registrations/new.html.erb
and views/devise/sessions/new.html.erb
. Full translations are also supported by Devise, but they are outside the scope of the guide.
Relabeling the navbar elements
The translations are made in the views/shared/_internal_navbar.html.erb
and views/shared/_external_navbar.html.erb
files. It is important to mention that "Create a new case" is now "Create a politician's profile".
Relabeling the new and edit case forms
These translations are performed in the views/cases/bew.html.erb
and views/cases/edit.html.erb
files.
Relabeling the new update form
These changes are made in the views/cases/show.html.erb
file.
The updates above guide the users into creating the content we expect them to create, for example:
Other minor changes
Relabeling the headings in the views/users/show.html.erb
file:
and in the views/domains/filter.html.erb
file:
I also made small changes in the views/cases/index.html.erb
file, from Cases to Profiluri curente in the heading and in the views/updates/_update.html.erb
file, changing External link to Referință.
The landing page
To edit the landing page, I made changes in the views/pages/landing.html.erb
and the assets/stylesheets/pages/landing.scss
files, deleting more code than I kept.
Finally, this is what the landing page looks like. I chose a minimalist style because I'm lazy and could not think of something more intricate.
Fancier Bootstrap
Finally, if you'd like to wrap the whole website into a different theme, go to Bootswatch to find non-default styles for the Bootstrap components.