Skip to content

bellitabellota/leisuresphere

Repository files navigation

LeisureSphere

This project is my realization of the final project of TOP's Rails path.

For deployment Koyeb was used and the PostgreSQL database is run via Neon.


Try the app yourself: --> Visit deployed app


Features

  • Log in / out

    • Authentication with Devise Gem
    • Authentication with Google Omniauth
  • Home / Feed

    • Overview of the current user's posts and the posts of his/her followees
    • Users can create text posts or image posts
  • Profile

    • After signing up, a profile is created automatically with either the Google image, Gravatar image or default image
    • The profile picture and other profile fields can be updated
    • On the profile page, in addition to managing their profile details, users see all their posts and they can update or delete them here.
  • Follow page

    • Users can follow others to see their posts on the Feed
  • Following page

    • Users see the other users they are following and can unfollow them
  • Likes

  • Posts can be liked/unliked

  • The total like count is displayed next to the like/unlike button

  • After liking/unliking a post users are redirected back to the post on the Feed or the profile page (depending on where they took their action).

  • Comment

    • Users can comment on posts and update or delete them on the feed or profile page. After completing one of those actions they are redirected back to the post on the Feed or the profile page (depending on where they took their action).
  • Miscellaneous

    • After signing up users receive a Welcome email (as email provider SendGrid was used).
    • Image upload is realized via Active storage using Amazon S3 for cloud storage.
    • Stimulus controller toggling the "post options" button on the profile page where users can update or delete their posts.
    • This application has 98.63% test coverage. The tests were implemented using RSpec, Capybara and FactoryBots.

    (Please note: Although some CSS was added to create an appealing appearance, no effort was made towards a responsive design as the focus was on applying my Rails knowledge and learning new aspects about Rails.)

Models and Associations

the_models

Screenshots

  • Login:

    login

  • Follow page:

    follow

  • Following page:

    your_followees

  • Home with the Feed (showing the posts of the current user and his/her followees):

    feed_top

    feed_bottom

  • Profile page:

    profile_top

  • Live demo:

demo-leisuresphere-2025-01-25_11.28.59.mp4

About

A small full-stack social media app built with Ruby on Rails, tested with RSpec

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published