/Book-shelf-app

This is a reading list app. It allows users to make a collection of books and with it make organized reading lists based on different genres. Books and reading lists can be set to either public or private. Public reading lists can have likes only. A user can like and comments on a certain book.

Primary LanguageRubyMIT LicenseMIT

logo

📗 Table of Contents

📖 MelodyRentals Backend

Melody Rentals-logo

Book shelf is a reading list app. It allows users to make a collection of books and with it make organized reading lists based on different genres. Books and reading lists can be set to either public or private. Public reading lists can have likes only. A user can like and comments on a certain book. Only a logged in user can add books, create reading lists and actively engage with the other content on the website.

🛠 Built With

Tech Stack

Client
Server
  • Rails
Database

Key Features

  • [Public and private reading lists]
  • [Devise for user authentication]
  • [Ability to delete books, reading lists and comments ]
  • [Admin Users are moderators and have all access]
  • [Authenticated users can make reading lists, add books and engage with other users content]

(back to top)

Website Mockup 📱 💻 🖥️

Coming soon

(back to top)

Kanban Board

  • I have divided each task for tracking progress of the project,

Kanban Board

(back to top)

(back to top)

📇 Entity Relationship Diagram

er-diagram

🚀 Live Demo

for the API

(back to top)

💻 Getting Started

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

Prerequisites

In order to run this project you need: Git and Ruby

 gem install rails

Install

Install this project with:

  bundle install

Optional, if you have privacy concerns

  • Create a .env file with the following content:
POSTGRES_USER=postgres
# If you declared a password when creating the database:
POSTGRES_PASSWORD=YourPassword
POSTGRES_HOST=localhost
POSTGRES_DB=book_shelf_development
POSTGRES_TEST_DB=book_shelf_test

  • Add <% ENV['POSTGRES_PASSWORD'] %> for your password, then add the rest in a similar way

Create Database (Mandatory)

rails db:create

If you have made a migration then run this command

rails db:migrate
rails db:seed

Usage

To run the project, execute the following command:

   rails s -p 3000 # # for serving the API on localhost:3000

Run tests

bundle exec rspec

(back to top)

👥 Authors (1 Micronaut)

👤 Tracy Musongole

Future features

  • Ability to add star ratings on a book
  • Ability to follow users
  • Ability to unlike books and reading lists
  • Ability to create private book clubs with other users

(back to top)

(back to top)

🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

⭐️ Show your support

Give a ⭐️ if you like this project!

(back to top)

🙏 Acknowledgments

  • Myself

(back to top)

❓ FAQ

  • How I can install rails?

    • You can follow the official guide to install rails. If you have gem installed, you can run gem install rails to install rails.
  • How I can run this project?

    • After cloning repository, run bundle and then run rails s with option argument -p 3000. This will run the server on localhost:3000. You can change the port number if you want. Then you can use any API client to test the endpoints. For example, you can use Postman or Insomnia.
  • How I can run tests?

    • After cloning repository, run bundle and then run rspec test-file-directory for a specific file or rspec to run all the tests.

(back to top)

📝 License

This project is MIT licensed.