top of page

Rapid MVP prototyping using Ruby on Rails

A few weeks ago, I did some rapid MVP prototyping on a community/forum web application. Both the front end and back end were built using Ruby on Rails, which continues to be one of the most powerful web app frameworks available. Although a template or no-code platform (like WordPress) would be an option for a use-case as common as a forum, using Ruby on Rails allows for complete ownership of the source code and nearly infinite customization moving forward. It's a smart choice to build the application from scratch if you seek to turn it into a business and foresee changes and improvements moving forward.


Home page

For this MVP, I built The Community: a fully-featured forum web application. The home page is straightforward, it lists all available posts in chronological order. At the top left is a large logo for the website, and the top right has the Sign Up/Sign In buttons (these switch to New Post/Sign Out once the user has signed in).


Post page

When the user selects a post, their brought to a dedicated page for the selected post. There, they can review the title, body, and a list of all available comments. Note that the site blocks any user that isn't signed in from making any posts or leaving any comments. The comments, like the posts, are listed in chronological order. However, I decided to not include a timestamp in an attempt to not clutter this page. Also, if you're wondering, I did use the magical ChatGPT to generate the example posts and comments.


Sign up page

The sign up page is relatively simple. I did use SimpleForm to help with this part. I also took advantage of Bootstrap CSS to make the page not look terrible in the short amount of time I had to develop the site. The sign in page also has a "Forgot your password" feature built-in for more forgetful users.


To get more into the Ruby on Rails specifics, the application consisted of a distinct Controller and Model for the User, Post, and Comment. The application also had numerous Views, which could be placed into four categories: User, Post, Comment, and Error. Each category typically had between one and five Views, though there were many more for the User category. To simplify the process of generating the User Views, Devise was used.


If you want to play around with the demo version of this website, check out the CodeConda portfolio.

bottom of page