/Kwitter

A capstone project for ROR module. Include features like Create a profile, Upload profile picture, Upload cover photo, Tweet, Follow other users, Show stats of followings and followers.

Primary LanguageRuby

Kwitter: twitter-redesign capstone project

I did build a social media platform for kittens lovers so they can tweet, Create and attend events. The design is a clone of twitter.com with basic mocking of functionalities

  1. The user logs in to the app, only by typing the username (a properly authenticated login is not a requirement).
  2. The user is presented with the homepage that includes:
    1. Left-side menu (includes only links to pages that are implemented).
    2. Tweets tab in the center (skip Photos and Videos for this MVP).
    3. Right-side section with *Who to follow (*skip Trending for this MVP).
  3. The Tweets section includes:
    1. Simple form for creating a tweet.
    2. List of all tweets (sorted by most recent) that display tweet text and author details.
  4. The Who to follow section includes:
    1. a list of profiles that are not followed by the logged-in user (ordered by most recently added).
  5. When the user opens the profile page, They can see:
    1. Left-side menu (includes only links to pages that are implemented).
    2. Cover picture and Tweets tab in the center (skip other tabs and Tweet to user form).
    3. Right-side section with Profile detailed info.
  6. The Profile detailed info section includes:
    1. User photo.
    2. Button to follow a user.
    3. Stats: total number of tweets, number of followers, and number of following users.
    4. List of people who follow this user.
  7. I've added features like creating an event with the ability to upload a picture and if not there is an auto default image to take place.
  8. The user can assign an image and a cover for his profile and if he didn't, I did create an auto default image.

Built With

  • Ruby v2.5.7
  • Ruby on Rails v6.0.3
  • bootstrap gem
  • fontawesome gem
  • Gems used for testing: Capybara, Rspec-Rails, Shoulda-matchers

Screenshots

screneshot screneshot screneshot screneshot

Video

Watch the video

Live Demo

Heroku App Link

Prerequisites

  • Ruby: 2.5.7
  • Rails: 6.0.3
  • Postgres: >=9.5
  • Git

Usage

  • Fork/Clone this project to your local machine
  • Open folder in your local enviroment and run these lines of code to get started:

Open terminal and paste this line

   git clone https://github.com/AbdelrhmanAmin/Kwitter.git

go to the folder by writing this line

    cd Kwitter

Install gems with:

    bundle install

Setup database with:

   rails db:create
   rails db:migrate

Start server with:

    rails server

Open in your browser:

   http://localhost:3000/

DIAGRAM

screenshot

Testing

bundle exec rspec

Show your support

Give a ⭐️ if you like this project!

Acknowledgments

  • You can access all the design info (color, typography, layouts) in this link:

Click here

Design idea by Gregoire Vella.