{"id":17482486,"url":"https://github.com/evanssnave/final-capstone-project-back-end","last_synced_at":"2025-09-14T14:39:06.981Z","repository":{"id":219008500,"uuid":"747839740","full_name":"EvansSnave/final-capstone-project-back-end","owner":"EvansSnave","description":"@Doc is an application that'll allow users to register and create medical appointments or if they desire they can also reserve doctors. There are options so that users can add or delete a doctor. In a doctor's details page information relevant to appointments and reservations will be displayed.","archived":false,"fork":false,"pushed_at":"2024-02-11T15:15:58.000Z","size":20076,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"dev","last_synced_at":"2025-03-29T15:51:12.245Z","etag":null,"topics":["api","backend","collaboration","database","postgresql","rubocop","ruby","ruby-on-rails","sql"],"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/EvansSnave.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}},"created_at":"2024-01-24T18:38:19.000Z","updated_at":"2024-03-13T22:29:03.000Z","dependencies_parsed_at":"2024-01-25T00:26:58.102Z","dependency_job_id":"12593ae9-939b-45ea-a6f2-1e365395b19f","html_url":"https://github.com/EvansSnave/final-capstone-project-back-end","commit_stats":{"total_commits":8,"total_committers":1,"mean_commits":8.0,"dds":0.0,"last_synced_commit":"11870a26db730459c147086cca1ce8bd69f61856"},"previous_names":["evanssnave/final-capstone-project-back-end"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvansSnave%2Ffinal-capstone-project-back-end","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvansSnave%2Ffinal-capstone-project-back-end/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvansSnave%2Ffinal-capstone-project-back-end/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvansSnave%2Ffinal-capstone-project-back-end/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EvansSnave","download_url":"https://codeload.github.com/EvansSnave/final-capstone-project-back-end/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250256310,"owners_count":21400505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","backend","collaboration","database","postgresql","rubocop","ruby","ruby-on-rails","sql"],"created_at":"2024-10-18T23:43:40.174Z","updated_at":"2025-04-22T14:23:21.757Z","avatar_url":"https://github.com/EvansSnave.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n  \u003ch3\u003e\u003cb\u003eFinal Capstone Project Back End\u003c/b\u003e\u003c/h3\u003e\n\n\u003c/div\u003e\n\n# 📗 Table of Contents\n\n- [📗 Table of Contents](#-table-of-contents)\n- [📖 final\\_capstone\\_back\\_end ](#-final_capstone_back_end-)\n  - [🛠 ER Diagram ](#-er-diagram-)\n  - [💻 link to front end ](#-link-to-front-end-)\n  - [💻 link to Kanban board information ](#-link-to-kanban-board-information-)\n  - [🛠 Built With ](#-built-with-)\n    - [Tech Stack ](#tech-stack-)\n    - [Key Features ](#key-features-)\n  - [💻 Getting Started ](#-getting-started-)\n    - [Prerequisites](#prerequisites)\n    - [Setup](#setup)\n    - [Install](#install)\n    - [Database Setup](#database-setup)\n    - [Usage](#usage)\n  - [💻 Tests ](#tests-)\n  - [👥 Authors ](#-authors-)\n  - [🔭 Future Features ](#-future-features-)\n  - [🤝 Contributing ](#-contributing-)\n  - [⭐️ Show your support ](#️-show-your-support-)\n  - [🙏 Acknowledgments ](#-acknowledgments-)\n  - [❓ FAQ (OPTIONAL) ](#-faq-optional-)\n  - [📝 License ](#-license-)\n\n\n# 📖 Final Capstone Back End \u003ca name=\"about-project\"\u003e\u003c/a\u003e\n\n**final_capstone_back_end** The back-end component of this final capstone project is developed using Ruby on Rails, configured to serve as an API. This API is designed to facilitate medical appointments, and to allow users to make reservations for doctors. It leverages a PostgreSQL database to manage and store reservation data. The API is designed to be consumed by a front-end application, which is developed using React.js.\n\n## 🛠 ER Diagram \u003ca name=\"built-with\"\u003e\u003c/a\u003e\n\nModel diagram\n\n![Alt text](./src/SQL-draw.png)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 💻 Link to front end \u003ca name=\"built-with\"\u003e\u003c/a\u003e\n\n\n[Link to Front End](https://github.com/EvansSnave/final-capstone-project-front-end)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 💻 link to Kanban board information \u003ca name=\"built-with\"\u003e\u003c/a\u003e\n\n[Link to Kanban Board](https://github.com/EvansSnave/final-capstone-project-back-end/projects/1)\n\n[Initial state](https://github.com/EvansSnave/final-capstone-project-front-end/issues/17)\n\nThis project was completed by two Team members:\n\n- Kevin Cruz\n- Fisayo Michael\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\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\u003eTechnologies\u003c/summary\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://rubyonrails.org/\"\u003eRuby on Rails\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eLinters\u003c/summary\u003e\n  \u003cul\u003e\n    \u003cli\u003eRubocop\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n\n### Key Features \u003ca name=\"key-features\"\u003e\u003c/a\u003e\n\n- **Ruby on Rails**\n- **API Endpoint**\n- **Professional Documentation**\n- **Linting for Code Quality**\n- **Postgres Database**\n- **Git Version Control**\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n## 💻 Getting Started \u003ca name=\"getting-started\"\u003e\u003c/a\u003e\n\nTo get a local copy up and running, follow these steps:\n\n### Prerequisites\n\nBefore you begin, ensure you have the following prerequisites installed on your system:\n\n- Ruby: You need Ruby to run the Ruby on Rails application.\n- Bundler: Bundler is used to manage gem dependencies for your Ruby project.\n\n### Setup\n\nIn your terminal, navigate to the folder of your choice and clone the repository with the following commands:\n\n```sh\ncd my-folder\ngit https://github.com/EvansSnave/final-capstone-project-back-end.git\n\n```\n\n### Install\n\nAfter cloning the project, change into the project directory:\n\n```sh\ncd final_capstone_project_back_end\n\n```\n\nInstall this project with:\n\n- gem install rails\n- bundle install\n\n### Credentials setup\nIn order to create databases and run the tests, you need to follow this steps:\n1. Remove config/master.key and config/credentials.yml.enc if they exist.\n2. Run `rails secret`. This will generate a key. Copy and reserve the key to use later.\n3. If you use Windows run: `$env:EDITOR=\"code --wait\"; rails credentials:edit` If you use Linux run: `EDITOR=\"code --wait\" bin/rails credentials:edit`\n4. Your editor will open a file, add at the bottom `devise_jwt_secret_key: \u003cthe key you copied in step 2\u003e`\n5. Save the file and close the editor.  New master.key, credentials.yml.enc files will be generated, and the key will be stored in `Rails.application.credentials.devise_jwt_secret_key`.\n\n### Database Setup\n\nCreate and migrate your database with:\n\n```sh\n\nrails db:create\nrails db:migrate\nrails db:seed\n\n```\n### Usage\n\nTo run the project, execute the following command:\n\n```sh\n\nrails server\nor\nrails s\n\n```\nThis should start your local server on http://localhost:3000/. Now, you can use the REST API client of your choice to interact with the API.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Tests \u003ca name=\"tests\"\u003e\u003c/a\u003e\n\nTo run tests, navigate to the directory where the project is located on your machine, open your terminal, and follow these steps:\n\nTest Suite\nThis project contains a suite of unit tests which you can run to ensure everything is functioning as expected. To run these tests, you need RSpec installed.\n\nTo install RSpec if you haven't already, run:\n\ngem install rspec\nAfter you've installed RSpec, you can run the tests with:\n\nbundle exec rspec spec/controllers\nbundle exec rspec spec/models\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 👥 Authors \u003ca name=\"authors\"\u003e\u003c/a\u003e\n\n👤 **EvanSnave**\n\n- GitHub: [EvansSnave](https://github.com/EvansSnave)\n- Twitter: [Kroja13](https://twitter.com/Kroja13)\n- LinkedIn: [Kevin Cruz](https://www.linkedin.com/in/kevin-cruz-25159a201/)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n## 🔭 Future Features \u003ca name=\"future-features\"\u003e\u003c/a\u003e\n\n- [ ] **Implement proper user authentication from the front-end to the server**\n- [ ] **Add authorizations to users**\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\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/EvansSnave/final-capstone-project-back-end/issues).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n## ⭐️ Show your support \u003ca name=\"support\"\u003e\u003c/a\u003e\n\nIf you like this project please feel free to send us corrections for make it better we would feel glad to read your comments.\nAnd think If you enjoy it gift us a star.  \n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 🙏 Acknowledgments \u003ca name=\"acknowledgements\"\u003e\u003c/a\u003e\n\n- Behance and Murat Korkmaz for the [original design](https://www.behance.net/gallery/26425031/Vespa-Responsive-Redesign)\n- Microverse for providing the opportunity to learn in a collaborative environment.\n- React.js Documentation for valuable resources on React development.\n- GitHub for version control and collaboration tools.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## ❓ FAQ (OPTIONAL) \u003ca name=\"faq\"\u003e\u003c/a\u003e\n\n- **Can I use with a templeate your project?**\n\n  - Of course we would feel honored.\n\n- **Your project is free license?**\n\n  - Yeah, you can use it completely.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n## 📝 License \u003ca name=\"license\"\u003e\u003c/a\u003e\n\nThis project is licensed under the MIT License - you can click here to have more details [MIT](./LICENSE).\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%2Fevanssnave%2Ffinal-capstone-project-back-end","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevanssnave%2Ffinal-capstone-project-back-end","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevanssnave%2Ffinal-capstone-project-back-end/lists"}