This is a web-app where users can share their opinions about books and book's authors.
Each time that users create a new opinion, a link to worldcat is generate. In this way, other users can find their recommendations.
For some reason, the video link is not showing in the request. This is the link to the video presentation.
- Users have a username and an email. They can follow other users. They can read book opinions of other people and they can create, edit or destroy their own book opinions. Opinions They have a title and a body. Users can read in the index the book opinions of their followed users.
- Following is a join table. Each time that a user follows other user, is created a new relationship between them. This relationship can be non-reciprocal.
Validations are defined in the model of each class. New objects need to pass the following validations:
- Name: presence should be true and unique. The username should have more than 3 characters and less than 10.
- Fullname: mandatory with a length between 3 and 20 characters.
- Title: mandatory, with a length between 2 and 50 characters.
- Body: mandatory, with a length between 2 and 50 characters.
- Ruby
- Rails
- Bundle
- MySQL 3 for development Note: You can change the database in GemFile.
- Postgrest for Deployment
- Ruby 2.7.0 - A programming language.
- Ruby on Rails 6.0.3.1 - A Ruby framework for web development
- Download this repository
$ git clone repo_url
- Install all required gem.
$ bundle install
- Migrate the database.
$ rails db:migrate
- Run localhost
$ rails server
You can check specs into the folder 'tests'. Run test with
$ rspec
Also, you can run tests with
$ rails test
If any error relate to selenium webdriver appears, run
$ bundle install
If this doesn't solve the problem, open an issue.
- Test Unit
- RSpec
- Capybara
👤 Juan Paulo Perez Tejada
- Github: @Maclenn77
- Twitter: @srjuanpapas
- Linkedin: Juan Paulo Perez Tejada
Visit my blog
This project is licensed under the MIT License - see the LICENSE.md file for details
- Design idea by Gregoire Vella
- Add validations to image sizes
- Find an alternative storage for images