/tomblr_reactapp

A blogging React app made with Ruby on Rails, PostgreSQL and BCrypt for custom user auth pattern. Also employs OOP design principles and minified JavaScript using Webpack. A tumblr clone by Tom!

Primary LanguageJavaScript

Tomblr Blog Platform

Tomblr is an open-ended blog site inspired by a similarly named platform. It lets users create personal open-ended content pages in the rich tradition of geocities, angelfire and of course tumblr.

Click Here to try out Tomblr

Non-Functional Goals

  1. Build a fully functional blogging web platform from scratch using React, Ruby on Rails and PostgreSQL.

Minimum Functional Goals

  1. Implement custom user authentication using BCrypt library.
  2. Allow users to create an account and multiple blog pages.
  3. Let users post and delete text and images on their blog pages.
  4. Allow users to search blogs and posts.

Stretch Functinoal Goals

  1. Implement a more efficient / direct search using regular expressions.
  2. Allow users to choose from different blog styles / layouts.
  3. Let users use custom domain names by generating individual CNAME files.

Example Images:

The tomblr splash page with randomized rotating images as the background.


The main tomblr search page showing recent posts from all user blogs.


A blog page with the new post form visible as it appears when its author is logged in.


How to Use Tomblr:

  1. Go to http://tomblr.herokuapp.com
  2. Log in quickly with the Demo User or create a new account.
  3. Search existing posts or create a blog and posts of your own!
No special instructions, the blog site is fully functional!

Project Details



This project was built with React / Redux for it's front-end in conjunction with a handful of libraries like JQuery for it's ajax requests and JBuilder for formatting JSON responses. The back end is hosted through Heroku and is built with Ruby on Rails linked to a PostgreSQL database.

  • Front-End: React / Redux
  • Back-End: Ruby on Rails / PostgresSQL

This was originally developed as two week project by Tom Betthauser in 2020.