{"id":26012574,"url":"https://github.com/programkingabel/hotel-hub-backend","last_synced_at":"2026-04-20T11:02:06.835Z","repository":{"id":198403055,"uuid":"700757885","full_name":"ProgramKingAbel/hotel-hub-backend","owner":"ProgramKingAbel","description":"This is a Ruby on Rails backend API application serving a frontend hotel-hub React app","archived":false,"fork":false,"pushed_at":"2023-10-25T09:50:36.000Z","size":200,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T00:40:31.456Z","etag":null,"topics":["api-rest","backend","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/ProgramKingAbel.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}},"created_at":"2023-10-05T08:32:48.000Z","updated_at":"2024-06-22T21:12:04.000Z","dependencies_parsed_at":"2023-10-16T18:28:30.544Z","dependency_job_id":"a4aa6bdb-afe6-435a-96fc-3ab9278324ac","html_url":"https://github.com/ProgramKingAbel/hotel-hub-backend","commit_stats":{"total_commits":123,"total_committers":5,"mean_commits":24.6,"dds":0.6341463414634146,"last_synced_commit":"ebd328c6830f3b21a1497a4b125cf445d6a0c9f0"},"previous_names":["programkingabel/hotel-hub-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ProgramKingAbel/hotel-hub-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProgramKingAbel%2Fhotel-hub-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProgramKingAbel%2Fhotel-hub-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProgramKingAbel%2Fhotel-hub-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProgramKingAbel%2Fhotel-hub-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ProgramKingAbel","download_url":"https://codeload.github.com/ProgramKingAbel/hotel-hub-backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProgramKingAbel%2Fhotel-hub-backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32044291,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T10:33:29.490Z","status":"ssl_error","status_checked_at":"2026-04-20T10:32:30.107Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["api-rest","backend","ruby-on-rails"],"created_at":"2025-03-06T00:33:52.509Z","updated_at":"2026-04-20T11:02:06.805Z","avatar_url":"https://github.com/ProgramKingAbel.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hotel Hub (Final Capstone)\n\n\u003ca id=\"readme-top\"\u003e\u003c/a\u003e\n\n# 📗 Table of Contents\n\n- [📖 About the Project](#about-project)\n  - [🛠 Built With](#built-with)\n    - [Tech Stack](#tech-stack)\n    - [Key Features](#key-features)\n  - [🚀 Live Demo](#live-demo)\n  - [🎬 Representation](#representation)\n  - [🧮 Kanban Board](#kanban-board)\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- [📝 License](#license)\n\n\u003c!-- PROJECT DESCRIPTION --\u003e\n\n# 📖 Hotel Hub (Backend) \u003ca id=\"about-project\"\u003e\u003c/a\u003e\n\n**Hotel Hub** is a website that offers hotel booking and reservation services for travelers, providing a convenient way to find and book accommodations. You can select available rooms for a graphic list on the home page of the website, or you can just click on the reserve menu item and see the full list of available rooms. You can find the repository for the [front end](https://github.com/ProgramKingAbel/hotel-hub-frontend.git) of this project here.\n\nBackend is implement as API-only. The front end is implemented utilizing the React framework.\n\n-  The backend Rails app is implemented as API-only. The application starts by fetching the `users` method on the backend, if the backend is available then the user will login by making a query to `users/new_session`.\n\n-  The room controller provides an `index` method to get all the data for rooms, and a `show` method to get details about a specific room. The `destroy` method deactivates the room when the user sends a delete query by clicking on delete.\n\n-  The reservation controller also provides `index` methods. Index is used to get a list of all reservations made. \n \n## 🛠 Built With \u003ca id=\"built-with\"\u003e\u003c/a\u003e\n\n### Tech Stack \u003ca id=\"tech-stack\"\u003e\u003c/a\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eRuby on Rails\u003c/summary\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca\u003ehttps://rubyonrails.org/\u003c/a\u003e\u003c/li\u003e   \n  \u003c/ul\u003e\n\u003c/details\u003e\n\n\u003c!-- Features --\u003e\n\n### Key Features \u003ca id=\"key-features\"\u003e\u003c/a\u003e\n\n- **Ability to see the featured rooms on the homepage**\n- **The ability to reserve rooms based on selecting the date and room name**\n- **The ability to add rooms to the database**\n- **The ability to delete rooms**\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 🚀 Live Demo \u003ca id=\"live-demo\"\u003e\u003c/a\u003e\n\nLive demo for the website [Coming Soon]().\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 🎬 Kanban Board \u003ca id=\"kanban-board\"\u003e\u003c/a\u003e\n\nLink to the [Kanban Board](https://github.com/ProgramKingAbel/hotel-hub-backend/projects/1)\n\n[Link to initial state of Kanban Board](https://user-images.githubusercontent.com/33475814/272865206-0507a0bd-4dec-446c-b0c9-626e5c32c3f7.PNG)\n\nAll 5 authors have been contributing to this project from start to finish.\n\n\n\u003c!-- GETTING STARTED --\u003e\n\n## 💻 Getting Started \u003ca id=\"getting-started\"\u003e\u003c/a\u003e\n\nTo get a local copy up and running, follow these steps.\n\n### Prerequisites\n\nIn order to run this project, you need to:\n\n- Install Ruby\n- Install Rails\n- Install Posgresql\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Setup\n\nClone this repository to your desired folder:\n\n``` \n  git clone https://github.com/ProgramKingAbel/hotel-hub-backend.git \n```\n\n### Install\n\nInstall this project with these commands:\n\n```\n  cd hotel-hub-backend\n  bundle install\n  rails db:create\n  rails db:migrate\n  rails db:seed\n  ```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Database Setup.\n\nBefore creating database, you have to configure the master key for your project. This can be done in two ways.\n\n1. **Using our own master key that we have provided**\ncd into the project folder and in your terminal run\n\n``` \nrails rake:secret\n\n```\n- This command will generate a master.key file and inside that file replace the key with the one shown below.\n\n**[f387ccf0b4eebd334dc8725a1cb9573]**\n\n- Proceed to creating db.\n\n2. **Generating your own master Key**\n\n- Remove config/master.key and config/credentials.yml.enc if they exist.\n- Run in the terminal: EDITOR=code rails credentials:edit \n- Close the editor that opens.\n- This command will create a new master.key and credentials.yml.enc if they do not exist.\n\n- After this proceed to creating db with:\n```\n  rails db:create\n  rails db:migrate\n  rails db:seed\n  ```\n  \n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Usage\n \nTo run the project execute the following command:\n\n``` \n rails s\n```\n\nor\n\n```\n./bin/dev\n```\n\n- You can use the following emails and passwords from seeded data to login from the frontend.\n\nfor admin\n```\nuser1 = User.create(\n  name: 'John Doe',\n  email: 'john@example.com',\n  password: 'password123',\n  role: 'admin'\n)\n\n```\nfor a Normal User\n\n```\nuser2 = User.create(\n  name: 'Jane Smith',\n  email: 'jane@example.com',\n  password: 'password456',\n  role: 'user'\n)\n```\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n###  Tests \u003ca id=\"run-tests\"\u003e\u003c/a\u003e\n\nTo run the tests for models and requests, execute the following command:\n\n```\nrspec ./spec/models\nrspec ./spec/requests/api/v1\n\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## 👥 Authors \u003ca id=\"authors\"\u003e\u003c/a\u003e  \n \n👤 **Abel Morara**\n- GitHub: [@githubhandle](https://github.com/ProgramKingAbel)\n- Twitter: [@twitterhandle](https://twitter.com/CeoAbel1)\n- LinkedIn: [LinkedIn](https://www.linkedin.com/in/abel-morara/\n \n\n👤 **Alex Waweru**\n- GitHub: [@githubhandle](https://github.com/AleWaweru)\n- Twitter: [@twitterhandle](https://twitter.com/home)\n- LinkedIn: [LinkedIn](https://www.linkedin.com/in/alewaweru/ \n\n\n👤 **Enobong Isong**\n- GitHub: [@githubhandle](https://github.com/Enoisong)\n- Twitter: [@twitterhandle](https://twitter.com/Enobongmisong)\n- LinkedIn: [LinkedIn](https://www.linkedin.com/in/enobong-isong/ \n\n\n👤 **Peter Dumbar**\n- GitHub: [@githubhandle](https://github.com/Peter-Dumbari)\n- Twitter: [@twitterhandle](https://twitter.com/PeterDumbari)\n- LinkedIn: [LinkedIn](https://www.linkedin.com/in/peterdumbari/ \n\n👤 **Sahalu Aminu**\n- GitHub: [@githubhandle](https://github.com/sahlminkok)\n- Twitter: [@twitterhandle](https://twitter.com/sahlminkok)\n- LinkedIn: [LinkedIn](https://www.linkedin.com/in/sahlminkok/ \n \n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 🔭 Future Features \u003ca id=\"future-features\"\u003e\u003c/a\u003e \n \n- **[Payment Integration into the System]**\n- **[Add email confirmation]**\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 id=\"contributing\"\u003e\u003c/a\u003e\n\nContributions, issues, as well as feature requests are welcome!\n\nFeel free to check the [issues page](https://github.com/ProgramKingAbel/hotel-hub-frontend/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## ⭐️ Show your support \u003ca id=\"support\"\u003e\u003c/a\u003e\n\nIf you like this project, kindly leave a comment below and share it with\nsomeone who enjoys coding! or still, give us a ⭐️!\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## 🙏 Acknowledgments \u003ca id=\"acknowledgements\"\u003e\u003c/a\u003e\n \n-  Thanks to our amazing team members and coding partners for their invaluable contributions and dedication. \n-  The Design reference for the website belongs to [Murat Korkmaz](https://www.behance.net/muratk). You can find the reference [here](https://www.behance.net/gallery/26425031/Vespa-Responsive-Redesign)\n\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 id=\"license\"\u003e\u003c/a\u003e \n\nThis project is [MIT](./LICENSE) licensed.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprogramkingabel%2Fhotel-hub-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprogramkingabel%2Fhotel-hub-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprogramkingabel%2Fhotel-hub-backend/lists"}