Skip to content

A desktop web app where a user can write articles about his favorite book. Users can upvote or downvote an article. The app is built using RubyOnRails in backend and embedded ruby for templating.

Notifications You must be signed in to change notification settings

alishabab/bookish

Repository files navigation

hire-badge Twitter Follow

Bookish - Write articles about your favourite books.

In this project, I developed a web application where a user can write articles about books. Application has RESTful routes. A user can sign up, login, create, edit and delete an article. Also user can see the articles by categories and written by others. Logged in user can upvote, downvote an article. Article with most number of votes is displayed in top row of homepage. The project is developed using Ruby on Rails and embedded ruby for templating. Navbar is dynamicaly generated from categories, only user with username as 'admin' can add or delete categories. Unit tests and integration tests are written using RSpec and Capybara

Homepage screenshot

Articles from a category page screenshot

Built With

  • Ruby v2.7.0
  • Ruby on Rails v5.2.4.2
  • Gems used for testing: Capybara, Rspec-Rails, Shoulda-matchers and FactoryBot.

Presentation Video

See here

Live Demo

Live Demo Link

Getting Started

To get a local copy up and running follow these steps:

Prerequisites

  • Ruby: 2.6.3
  • Rails: 5.2.3
  • Postgres: >=9.5
  • Git

Usage

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

Install gems with:

    bundle install

Setup database with:

   rails db:create
   rails db:migrate
   rails db:seed

Start server with:

    rails server

Then open a web page and go to port 3000 on your local machine.

Running tests

    bundle exec rpsec --format documentation

Deployment

Follow vendor specific instructions to deploy the application.

Potential Future Updates

  • Making the vote action asynchronus
  • Creating a wishlist
  • Buying a book

Author

👤 Shabab Ali

🤝 Contributing

Contributions and feature requests are welcome!

Start by:

  • Forking the project
  • Cloning the project to your local machine
  • cd into the project directory
  • Run git checkout -b your-branch-name
  • Make your contributions
  • Push your branch up to your forked repository
  • Open a Pull Request with a detailed description to the development(or master if not available) branch of the original project for a review

Show your support

Give a ⭐️ if you like this project!

Acknowledgments

About

A desktop web app where a user can write articles about his favorite book. Users can upvote or downvote an article. The app is built using RubyOnRails in backend and embedded ruby for templating.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages