Skip to content

WillEdgington/rails-social-app

Repository files navigation

Rails Social — A Full-Stack Social Media Web Application

Click here to checkout the application deployed on Render! (currently down)

This is a full-stack social media web application built with Ruby on Rails 8, Hotwire (Turbo + Stimulus), and PostgreSQL.
It allows users to create posts, follow others, like and comment on content, and manage their profiles — all within a clean and responsive interface.

This project was built as part of the Ruby on Rails curriculum from The Odin Project, and serves as a capstone to demonstrate what I’ve learned about Rails, full-stack development, and modern web design.


Features

  • User authentication using Devise (sign up, log in, edit profile)
  • User profiles with avatar uploads via Active Storage
  • Posts — create, edit, delete, and display user posts
  • Likes and comments with live updates using Turbo Streams
  • Follow system to connect users and view their posts
  • Clean, responsive UI built with CSS
  • Instant feedback through Hotwire (no full-page reloads)

Tech Stack

  • Backend: Ruby on Rails 8
  • Frontend: Hotwire (Turbo + Stimulus), CSS, HTML
  • Database: PostgreSQL
  • Authentication: Devise
  • File Uploads: Active Storage

What I Learned

This project helped me bring together everything I’ve learned so far about full-stack web development in Rails. It also pushed me to explore areas where I had less experience (particularly in JavaScript) and adopt a learn-as-you-go mindset.

Some of the key takeaways include:

  • Using Hotwire and Turbo to create dynamic, real-time features without a heavy JavaScript frameworks.

  • Structuring a Rails app with clear model relationships and RESTful routes.

  • Managing authentication, authorization, and profile editing with Devise.

  • Designing a consistent, user-friendly interface with reusable CSS components.


Future Improvements

There are several improvements and extensions I would like to work on next:

  • A dark mode theme

  • Photo uploads in posts

  • More profile personalisation features (bio, social links, etc.)

  • Chat rooms / direct messaging

  • Smarter content organisation and recommendation algorithms


Contact

Created by WillEdgington

📧 willedge037@gmail.com

🔗 LinkedIn


Screenshots

Here are a few screenshots from the application.

Home Feed

Home Feed

Profile Page

Profile Page

Create Post

Create Post

Post and Comments

Post Show

Discover Page

Discover Page

Log-in Page (Devise)

Log-in Page

Sign Up Page (Devise)

Sign Up

About

Full-stack social media platform built with Ruby on Rails, PostgreSQL and Hotwire for real-time UI updates

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors