README

Redesign of Twitter

A web app users can share and see favourite quotes of their follows on the home page, Users can follow each other and see quotes on the profile page.

Live Demo

live

Screenshots

Home Page

Home Page

Profile Page

Profile Page

Some of the advanced concepts explored in this project include.

  • Working with advanced associations, many-to-many relationships.
  • Building simple authentication from scratch
  • Used RSpec as the test suite with the help of shoulda-matchers and capybara for effective testing. Both unit and integration testing was done.
  • Used Active Storage and Cloudinary to achieve image upload and image retrieve for profile photo.
  • Applying MVC architecture pattern

Built With

  • ruby 2.7.2p137
  • Rails 6.1.3.2
  • RSpec
  • Bootstrap 4.4.1
  • Active Storage
  • Cloudinary
  • Heroku

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

ruby 2.7.2p137 Rails 6.1.3.2

Setup

$ git clone https://github.com/Bishoy-Samwel/rails_capstone_project.git
$ cd twitter

Instal gems with:

bundle install

Setup database with:

   rails db:create
   rails db:migrate

Usage

Setup Cloudinary with: Create a cloudinary.yml inside of /config with the following code.

development:
  cloud_name: xxxxx
  api_key: 'xxxxx'
  api_secret:xxxxx
  enhance_image_tag: true
  static_file_support: false
production:
  cloud_name:xxxxx
  api_key: 'xxxxx'
  api_secret:xxxxx
  enhance_image_tag: true
  static_file_support: true
test:
  cloud_name: bishorails
  api_key: 'xxxxx'
  api_secret:xxxxx
  enhance_image_tag: true
  static_file_support: false

Start server with:

    rails s

Open http://localhost:3000/ in your browser.

Run tests

    rspec --format documentation

Acknowledgments

✒️ Author

👤 Bishoy Samwel Faheem

📝 License

This project is MIT licensed.