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/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/_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
Relabeling the new update form
These changes are made in the
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
and in the
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.
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.