https://github.com/tracymuso/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.
https://github.com/tracymuso/book-shelf-app
bootstrap ruby ruby-on-rails
Last synced: 5 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/tracymuso/book-shelf-app
- Owner: TracyMuso
- License: mit
- Created: 2023-02-09T18:26:28.000Z (over 3 years ago)
- Default Branch: dev
- Last Pushed: 2023-04-26T14:15:20.000Z (about 3 years ago)
- Last Synced: 2025-07-08T10:49:11.916Z (12 months ago)
- Topics: bootstrap, ruby, ruby-on-rails
- Language: Ruby
- Homepage:
- Size: 78.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 📗 Table of Contents
- [📖 About the Project](#about-project)
- [
Built With](#built-with)
- [Tech Stack](#tech-stack)
- [Key Features](#key-features)
- [Website Mockup 📱 💻 🖥️](#screenshots)
- [🖺 Entity Relationship Diagram](#er-diagram)
- [
Kanban Board](#kanban-board)
- [
React Frontend](#react-frontend)
- [
API Documentation](#api-docs)
- [🚀 Live Demo](#live-demo)
- [💻 Getting Started](#getting-started)
- [Setup](#setup)
- [Prerequisites](#prerequisites)
- [Install](#install)
- [Usage](#usage)
- [Run tests](#run-tests)
- [Deployment](#triangular_flag_on_post-deployment)
- [👥 Authors](#authors)
- [🔭 Future Features](#future-features)
- [🤝 Contributing](#contributing)
- [⭐️ Show your support](#support)
- [🙏 Acknowledgements](#acknowledgements)
- [❓ FAQ](#faq)
- [📝 License](#license)
# 📖 MelodyRentals Backend

**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.
Client
Server
- Rails
Database
- **[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]**
## Website Mockup 📱 💻 🖥️
Coming soon
- I have divided each task for tracking progress of the project,
### Kanban Board
- [Kanban Board ](https://github.com/users/TracyMuso/projects/4)
## :card_index: Entity Relationship Diagram

# for the API
- [Live Demo coming soon :rocket:](https://livedemolink.com) :smiley:
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:
```sh
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:
```sh
rails s -p 3000 # # for serving the API on localhost:3000
```
Run tests
```
bundle exec rspec
```
👤 **Tracy Musongole**
- GitHub: [@TracyMuso](https://github.com/TracyMuso)
- LinkedIn: [Tracy Musongole](https://www.linkedin.com/in/tracy-muso/)
- Medium: [@musongoletracy](https://www.medium.com/@musongoletracy)
- 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
Contributions, issues, and feature requests are welcome!
Feel free to check the [issues page](https://github.com/TracyMuso/Book-shelf-app/issues).
Give a ⭐️ if you like this project!
- **How I can install rails?**
- You can follow the [official guide](https://guides.rubyonrails.org/getting_started.html#installing-rails) 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](https://www.postman.com/) or [Insomnia](https://insomnia.rest/).
- **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.
This project is [MIT](./LICENSE) licensed.