{"id":17560512,"url":"https://github.com/tracymuso/book-shelf-app","last_synced_at":"2026-02-04T11:34:01.185Z","repository":{"id":65925721,"uuid":"599717339","full_name":"TracyMuso/Book-shelf-app","owner":"TracyMuso","description":"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.","archived":false,"fork":false,"pushed_at":"2023-04-26T14:15:20.000Z","size":80,"stargazers_count":0,"open_issues_count":15,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-07-08T10:49:11.916Z","etag":null,"topics":["bootstrap","ruby","ruby-on-rails"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TracyMuso.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-09T18:26:28.000Z","updated_at":"2023-03-15T13:23:22.000Z","dependencies_parsed_at":"2025-02-13T04:30:16.986Z","dependency_job_id":"d66115f3-9878-4844-aeba-356275263ce0","html_url":"https://github.com/TracyMuso/Book-shelf-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TracyMuso/Book-shelf-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TracyMuso%2FBook-shelf-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TracyMuso%2FBook-shelf-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TracyMuso%2FBook-shelf-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TracyMuso%2FBook-shelf-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TracyMuso","download_url":"https://codeload.github.com/TracyMuso/Book-shelf-app/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TracyMuso%2FBook-shelf-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29082768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T03:31:03.593Z","status":"ssl_error","status_checked_at":"2026-02-04T03:29:50.742Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap","ruby","ruby-on-rails"],"created_at":"2024-10-21T11:25:35.708Z","updated_at":"2026-02-04T11:34:01.146Z","avatar_url":"https://github.com/TracyMuso.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003c!--\nHOW TO USE:\nThis is an example of how you may give instructions on setting up your project locally.\n\nModify this file to match your project and remove sections that don't apply.\n\nREQUIRED SECTIONS:\n- Table of Contents\n- About the Project\n  - Built With\n  - Live Demo\n- Getting Started\n- Authors\n- Future Features\n- Contributing\n- Show your support\n- Acknowledgements\n- License\n\nAfter you're finished please remove all the comments and instructions!\n--\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n  \u003cimg src=\"./IMG_4089.png\" alt=\"logo\" width=\"140\"  height=\"auto\" /\u003e\n  \u003cbr/\u003e\n\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\n# 📗 Table of Contents\n\n- [📖 About the Project](#about-project)\n  - [\u003cimg src=\"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/320/whatsapp/326/toolbox_1f9f0.png\" width=\"20\" height=\"20\"/\u003e Built With](#built-with)\n    - [Tech Stack](#tech-stack)\n    - [Key Features](#key-features)\n    - [Website Mockup 📱 💻 🖥️](#screenshots)\n    - [🖺 Entity Relationship Diagram](#er-diagram)\n  - [\u003cimg src=\"https://user-images.githubusercontent.com/101523582/215735670-fbaca35e-fb40-4002-8a64-6a1a6ff66120.png\" width=\"23\" height=\"20\"/\u003e Kanban Board](#kanban-board)\n  - [\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/React-icon.svg/539px-React-icon.svg.png\" width=\"23\" height=\"20\"/\u003e React Frontend](#react-frontend)\n  - [\u003cimg src=\"https://emojipedia-us.s3.amazonaws.com/source/microsoft-teams/337/spiral-notepad_1f5d2-fe0f.png\" width=\"23\" height=\"20\"/\u003e API Documentation](#api-docs)\n  - [🚀 Live Demo](#live-demo)\n  \n- [💻 Getting Started](#getting-started)\n  - [Setup](#setup)\n  - [Prerequisites](#prerequisites)\n  - [Install](#install)\n  - [Usage](#usage)\n  - [Run tests](#run-tests)\n  - [Deployment](#triangular_flag_on_post-deployment)\n- [👥 Authors](#authors)\n- [🔭 Future Features](#future-features)\n- [🤝 Contributing](#contributing)\n- [⭐️ Show your support](#support)\n- [🙏 Acknowledgements](#acknowledgements)\n- [❓ FAQ](#faq)\n- [📝 License](#license)\n\n\u003c!-- PROJECT DESCRIPTION --\u003e\n\n# 📖 MelodyRentals Backend \u003ca name=\"about-project\"\u003e\u003c/a\u003e\n![Melody Rentals-logo](./IMG_4089.png)\n\n**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.\n\n## 🛠 Built With \u003ca name=\"built-with\"\u003e\u003c/a\u003e\n\n### Tech Stack \u003ca name=\"tech-stack\"\u003e\u003c/a\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eClient\u003c/summary\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://reactjs.org/\"\u003eRuby on Rails\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eServer\u003c/summary\u003e\n  \u003cul\u003e\n    \u003cli\u003eRails\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eDatabase\u003c/summary\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://www.postgresql.org/\"\u003ePostgreSQL\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n\u003c!-- Features --\u003e\n\n### Key Features \u003ca name=\"key-features\"\u003e\u003c/a\u003e\n\n- **[Public and private reading lists]**\n- **[Devise for user authentication]**\n- **[Ability to delete books, reading lists and comments ]**\n- **[Admin Users are moderators and have all access]**\n- **[Authenticated users can make reading lists, add books and engage with other users content]**\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Website Mockup 📱 💻 🖥️ \u003ca name=\"screenshots\"\u003e\u003c/a\u003e\nComing soon\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- Kanban Board --\u003e\n## \u003cimg src=\"https://cdn-icons-png.flaticon.com/512/5360/5360804.png\" width=\"23\" height=\"20\"/\u003e Kanban Board \u003ca name=\"kanban-board\"\u003e\u003c/a\u003e\n\n- I have divided each task for tracking progress of the project, \n###  Kanban Board\n - [Kanban Board ](https://github.com/users/TracyMuso/projects/4)\n\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- API Docs --\u003e\n\n\u003c!-- ## \u003cimg src=\"https://emojipedia-us.s3.amazonaws.com/source/microsoft-teams/337/spiral-notepad_1f5d2-fe0f.png\" width=\"23\" height=\"20\"/\u003e API Documentation\u003ca name=\"api-docs\"\u003e\u003c/a\u003e\n\n- The API documentation of the project [Melody Rentals API-Docs](http://127.0.0.1:3000/api-docs/index.html)\n![api-docs](https://user-images.githubusercontent.com/101523582/215738304-fc6826cc-802d-45e6-b12b-7af872e623f1.png) --\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- ER DIAGRAM--\u003e\n## :card_index: Entity Relationship Diagram \u003ca name=\"er-diagram\"\u003e\u003c/a\u003e\n![er-diagram](https://user-images.githubusercontent.com/101523582/215735670-fbaca35e-fb40-4002-8a64-6a1a6ff66120.png)\n\n## 🚀 Live Demo \u003ca name=\"live-demo\"\u003e\u003c/a\u003e\n\n# for the API\n- [Live Demo coming soon :rocket:](https://livedemolink.com) :smiley:\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n## 💻 Getting Started \u003ca name=\"getting-started\"\u003e\u003c/a\u003e\n\nTo get a local copy up and running, follow these steps.\n### Prerequisites\n\nIn order to run this project you need:\n`Git` and `Ruby`\n```\n gem install rails\n```\n\n### Install\n\nInstall this project with:\n\n```sh\n  bundle install\n```\n**Optional, if you have privacy concerns**\n- Create a  `.env` file with the following content:\n```\nPOSTGRES_USER=postgres\n# If you declared a password when creating the database:\nPOSTGRES_PASSWORD=YourPassword\nPOSTGRES_HOST=localhost\nPOSTGRES_DB=book_shelf_development\nPOSTGRES_TEST_DB=book_shelf_test\n\n```\n- Add `\u003c% ENV['POSTGRES_PASSWORD'] %\u003e` for your password, then add the rest in a similar way\n\nCreate Database (Mandatory)\n\n```\nrails db:create\n```\n\nIf you have made a migration then run this command\n\n```\nrails db:migrate\n```\n```\nrails db:seed\n```\n### Usage\n\nTo run the project, execute the following command:\n\n```sh\n   rails s -p 3000 # # for serving the API on localhost:3000\n```\n\nRun tests\n```\nbundle exec rspec\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- AUTHORS --\u003e\n\n## 👥 Authors (1 Micronaut) \u003ca name=\"authors\"\u003e\u003c/a\u003e\n\n👤 **Tracy Musongole**\n\n- GitHub: [@TracyMuso](https://github.com/TracyMuso)\n- LinkedIn: [Tracy Musongole](https://www.linkedin.com/in/tracy-muso/)\n- Medium: [@musongoletracy](https://www.medium.com/@musongoletracy)\n\n\n\n##  Future features \u003ca name=\"future-features\"\u003e\u003c/a\u003e\n\n- Ability to add star ratings on a book\n- Ability to follow users\n- Ability to unlike books and reading lists\n- Ability to create private book clubs with other users\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTRIBUTING --\u003e\n\n## 🤝 Contributing \u003ca name=\"contributing\"\u003e\u003c/a\u003e\n\nContributions, issues, and feature requests are welcome!\n\nFeel free to check the [issues page](https://github.com/TracyMuso/Book-shelf-app/issues).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- SUPPORT --\u003e\n\n## ⭐️ Show your support \u003ca name=\"support\"\u003e\u003c/a\u003e\n\nGive a ⭐️ if you like this project!\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- ACKNOWLEDGEMENTS --\u003e\n\n## 🙏 Acknowledgments \u003ca name=\"acknowledgements\"\u003e\u003c/a\u003e\n- Myself\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- FAQ (optional) --\u003e\n\n## ❓ FAQ \u003ca name=\"faq\"\u003e\u003c/a\u003e\n\n- **How I can install rails?**\n\n  - 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.\n\n- **How I can run this project?**\n\n  - 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/). \n\n- **How I can run tests?**\n  \n    - After cloning repository, run `bundle` and then run `rspec test-file-directory` for a specific file or `rspec` to run all the tests. \n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LICENSE --\u003e\n\n## 📝 License \u003ca name=\"license\"\u003e\u003c/a\u003e\n\nThis project is [MIT](./LICENSE) licensed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftracymuso%2Fbook-shelf-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftracymuso%2Fbook-shelf-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftracymuso%2Fbook-shelf-app/lists"}