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
- Ruby v2.7.0
- Ruby on Rails v5.2.4.2
- Gems used for testing: Capybara, Rspec-Rails, Shoulda-matchers and FactoryBot.
To get a local copy up and running follow these steps:
- Ruby: 2.6.3
- Rails: 5.2.3
- Postgres: >=9.5
- Git
- 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.
bundle exec rpsec --format documentation
Follow vendor specific instructions to deploy the application.
- Making the vote action asynchronus
- Creating a wishlist
- Buying a book
👤 Shabab Ali
- Github: @alishabab
- Twitter: @shabab_ali
- LinkedIn: shababali
- Email: shababsaifi@gmail.com
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
Give a ⭐️ if you like this project!
- Design Idea by Nelson Sakwa on Behance
- Project Requirement can be find here