{"id":23861557,"url":"https://github.com/lincoln1883/repairman","last_synced_at":"2026-04-10T07:50:29.137Z","repository":{"id":197841952,"uuid":"697540939","full_name":"lincoln1883/Repairman","owner":"lincoln1883","description":"This application helps homeowners to connect with specialized home service providers. It provides a platform for homeowners to find and hire professionals for various home services.","archived":false,"fork":false,"pushed_at":"2023-12-09T00:05:01.000Z","size":1203,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-23T17:57:15.198Z","etag":null,"topics":["axios","jest","react-router","reactjs","redux","tailwind-css"],"latest_commit_sha":null,"homepage":"https://handyhomehub.netlify.app","language":"JavaScript","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/lincoln1883.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}},"created_at":"2023-09-28T00:22:14.000Z","updated_at":"2024-07-10T16:12:04.000Z","dependencies_parsed_at":"2023-10-03T00:09:01.245Z","dependency_job_id":"513ded8a-e78e-4646-b9e8-b66d86db0e41","html_url":"https://github.com/lincoln1883/Repairman","commit_stats":null,"previous_names":["lincoln1883/appointment-capstone-frontend","lincoln1883/repairman"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lincoln1883%2FRepairman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lincoln1883%2FRepairman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lincoln1883%2FRepairman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lincoln1883%2FRepairman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lincoln1883","download_url":"https://codeload.github.com/lincoln1883/Repairman/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250487527,"owners_count":21438612,"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":["axios","jest","react-router","reactjs","redux","tailwind-css"],"created_at":"2025-01-03T06:47:31.769Z","updated_at":"2026-04-10T07:50:29.068Z","avatar_url":"https://github.com/lincoln1883.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbr\u003e\n\u003cdiv align='center'\u003e\n\t\u003ch1\u003eHandyHome Hub App Front-end (API)\u003c/h1\u003e\n  \u003c/div\u003e\n\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n# 📗 Table of Contents\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- [💻 Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Setup](#setup)\n  - [Tests](#tests)\n- [👥 Authors](#authors)\n- [📈 Kanban Board](#kanban)\n- [🔭 Future Features](#future-features)\n- [🤝 Contributing](#contributing)\n- [⭐️ Show your support](#support)\n- [🙏 Acknowledgements](#acknowledgements)\n- [📝 License](#license)\n\n\n# 🖥️ \"HandyHome Hub\" Front-end  \u003ca name=\"about-project\"\u003e\u003c/a\u003e\n\n**HandyHome Hub Front-end** is an application to complement our \"Appointments for Home Services\" project, providing a user-friendly interface for scheduling and managing home service appointments.\n\n## ⚙️ Integration with Back-End\n\nThis front-end project is designed to seamlessly integrate with its counterpart *back-end project* 👉🏽[Appointment-capstone-backend](https://github.com/lincoln1883/Appointment-capstone-backend). The Back-end project provides the API endpoints and database for the front-end project.\n## 🛠 Built With \u003ca name=\"built-with\"\u003e\u003c/a\u003e\n\n### Tech Stack \u003ca name=\"tech-stack\"\u003e\u003c/a\u003e\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  \u003cbr\u003e\n  \u003cul\u003e\n    \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/CSS\"\u003e\n      \u003cimg alt=\"ruby\" width=\"90px\"  height=\"35px\" src=\"https://img.shields.io/badge/CSS-1572B6?style=for-the-badge\u0026logo=css3\u0026logoColor=white\" /\u003e\n    \u003c/a\u003e\n    \u003cbr\u003e\n    \u003ca href=\"https://babeljs.io/\"\u003e\n      \u003cimg alt=\"ruby\" width=\"100px\"  height=\"35px\" src=\"https://img.shields.io/badge/Babel-F9DC3e?style=for-the-badge\u0026logo=babel\u0026logoColor=black\" /\u003e\n    \u003c/a\u003e\n    \u003cbr\u003e\n    \u003ca href=\"https://github.com/microverseinc/linters-config/tree/master/react-redux\"\u003e\n      \u003cimg alt=\"ruby\" width=\"130px\"  height=\"35px\" src=\"https://img.shields.io/badge/eslint-3A33D1?style=for-the-badge\u0026logo=eslint\u0026logoColor=white\" /\u003e\n    \u003c/a\u003e\n    \u003cbr\u003e\n    \u003ca href=\"https://github.com/microverseinc/linters-config/tree/master/react-redux\"\u003e\n      \u003cimg alt=\"ruby\" width=\"145px\"  height=\"35px\" src=\"https://img.shields.io/badge/stylelint-000?style=for-the-badge\u0026logo=stylelint\u0026logoColor=white\" /\u003e\n    \u003c/a\u003e\n    \u003cbr\u003e\n    \u003ca href=\"https://webpack.js.org/\"\u003e\n      \u003cimg alt=\"ruby\" width=\"140px\"  height=\"35px\" src=\"https://img.shields.io/badge/webpack-%238DD6F9.svg?style=for-the-badge\u0026logo=webpack\u0026logoColor=black\" /\u003e\n    \u003c/a\u003e\n    \u003cbr\u003e\n    \u003ca href=\"https://reactjs.org/\"\u003e\n      \u003cimg alt=\"ruby\" width=\"120px\"  height=\"35px\" src=\"https://img.shields.io/badge/React-0075A8?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB\" /\u003e\n    \u003c/a\u003e\n    \u003cbr\u003e\n    \u003ca href=\"https://redux.js.org/\"\u003e\n      \u003cimg alt=\"ruby\" width=\"120px\"  height=\"35px\" src=\"https://img.shields.io/badge/Redux-593D88?style=for-the-badge\u0026logo=redux\u0026logoColor=white\" /\u003e\n    \u003c/a\u003e\n    \u003cbr\u003e\n    \u003ca href=\"https://jestjs.io/\"\u003e\n      \u003cimg alt=\"ruby\" width=\"100px\"  height=\"35px\" src=\"https://img.shields.io/badge/Jest-C21325?style=for-the-badge\u0026logo=jest\u0026logoColor=white\" /\u003e\n    \u003c/a\u003e\n    \u003cbr\u003e\n    \u003ca href=\"https://testing-library.com/docs/react-testing-library/intro/\"\u003e\n      \u003cimg alt=\"ruby\" width=\"200px\"  height=\"35px\" src=\"https://img.shields.io/badge/-Testing_Library-%23E33332?style=for-the-badge\u0026logo=testing-library\u0026logoColor=white\" /\u003e\n    \u003c/a\u003e\n    \u003cbr\u003e\n    \u003ca href=\"https://www.netlify.com/\"\u003e\n      \u003cimg alt=\"ruby\" width=\"120px\"  height=\"35px\" src=\"https://img.shields.io/badge/Netlify-00C7B7?style=for-the-badge\u0026logo=netlify\u0026logoColor=white\" /\u003e\n    \u003c/a\u003e\n    \u003cbr\u003e\n    \u003ca href=\"https://tailwind.com/\"\u003e\n      \u003cimg alt=\"ruby\" width=\"100px\"  height=\"35px\" src=\"https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge\u0026logo=tailwind-css\u0026logoColor=white\" /\u003e\n    \u003c/a\u003e\n    \u003cbr\u003e\n\n  \u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eServer\u003c/summary\u003e\n  \u003cbr\u003e\n  \u003cul\u003e\n    \u003ca href=\"https://github.com/Mhamad-Raad/final-capstone-backend\"\u003e\n      \u003cimg alt=\"ruby\" width=\"90px\"  height=\"35px\" src=\"https://img.shields.io/badge/api-F37626?style=for-the-badge\u0026logo=JSON%20web%20tokens\u0026logoColor=white\" /\u003e\n    \u003c/a\u003e\n    \u003cbr\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n#### Key Features \u003ca name=\"key-features\"\u003e\u003c/a\u003e\n\n- Authenticate users: Create an account by providing a valid name, e-mail, and password with password confirmation. Once your account is created, you'll be automatically logged in and can access all of the app's features.\n\n- User-Friendly Interface: The app offers an intuitive and visually appealing user interface, ensuring a seamless experience for users of all backgrounds.\n\n- Appointment Booking: Users can easily browse and book appointments for a wide range of home services, from cleaning to plumbing, with just a few clicks.\n\n- Reservation Management: The app allows users to view and manage their reservations, providing a convenient overview of upcoming appointments.\n\n- Responsive Design: Our app is responsive, ensuring a consistent and enjoyable experience on both mobile devices and desktops.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LIVE DEMO  --\u003e\n\n## 🚀 Live Demo \u003ca name=\"live-demo\"\u003e\u003c/a\u003e\n\n- Enjoy the live version of the app 👉🏽 [here](https://handyhomehub.netlify.app/)\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\n## 💻 Getting Started \u003ca name=\"getting-started\"\u003e\u003c/a\u003e\n\nPrerequisites and setup instructions for the project are listed below.\n\n\u003c!-- Prerequisites --\u003e\n### Prerequisites \u003ca name=\"prerequisites\"\u003e\u003c/a\u003e\n\nIn order to run this project you need:\n- Computer running MacOS, Linux or Windows\n- Terminal (MacOS/Linux) or Command Line (Windows)\n- Git ([Download](https://git-scm.com/downloads))\n- Web browser ([Chrome](https://www.google.com/chrome/), [Firefox](https://www.mozilla.org/en-US/firefox/new/), etc.)\n- Source code editor ([VSCode](https://code.visualstudio.com/), [Atom](https://atom.io/), etc.)\n- Node.js (version 14.15.4 or higher) ([Download](https://nodejs.org/en/download/))\n- NPM (version 6.14.10 or higher) ([Download](https://www.npmjs.com/get-npm))\n- React ([Create React App](https://create-react-app.dev/docs/getting-started/))\n- Redux ([React Redux](https://react-redux.js.org/))\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- Setup --\u003e\n### Setup \u003ca name=\"setup\"\u003e\u003c/a\u003e\n\n1. Clone the repository:\n\n```bash\nopen git bash\ngit clone https://github.com/lincoln1883/Appointment-capstone-frontend.git\ncd Appointment-capstone-frontend\n```\n\n2. Install the dependencies:\n\n```\nnpm install\n```\n\n3. Modify your local environment: To setup your environment variables, you need to create a `.env` file in the root directory of the project and add the following line:\n\n- For development: \n```bash\nREACT_APP_API_URL=http://localhost:3001/api/v1\nREACT_APP_API_AUTH_URL=http://localhost:3001\n```\n- For production:\n```bash\nREACT_APP_API_URL=https://appointments-ajt3.onrender.com/api/v1\nREACT_APP_API_AUTH_URL=https://appointments-ajt3.onrender.com \n```\n\n4. Start the app in a Power-Shell/bash terminal:\n\n```bash\nnpm start\n```\n\n5. Open your web browser and navigate to: http://localhost:3000/ to access the application.\n\n6. **Back End**: You need to have the back-end running in order to see the run your frontend server, please visit the [Appoinment-capstone-backend](https://github.com/lincoln1883/Appointment-capstone-backend) repository and follow the instructions in the README file.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- TESTS --\u003e\n### Tests \u003ca name=\"tests\"\u003e\u003c/a\u003e\n\n**Testing Instructions**\n\nTo ensure the reliability and functionality of this project, we have included a \"tests\" section. This section includes unit tests for the project's components and integration tests for the project's functionality.\n\nTools and dependencies used in the testing are listed below:\n```\n- Jest\n- Jest-Dom\n- React Testing Library\n- Redux Mock Store\n- Redux Thunk\n```\n\nWe use ***React Testing Library*** in combination with ***Jest*** and ***jest-dom*** for our testing framework. These tools allow us to perform various types of tests, including unit tests and integration tests, ensuring that the application's components and functionality work as expected.\n\nFollow these specific instructions to correctly run the tests using npm. \n\n1. Open your terminal or command prompt.\n\n```\nexample:\n\nopen git bash\n```\n\n2. Navigate to the project directory using the `cd` command:\n```\ncd path/to/your/project\nexample:\ncd ~/Documents/GitHub/Appointment-capstone-frontend\n```\n\n3. Install project dependencies (if you haven't already) by running:\n```\nnpm install\n```\n\n4. Now, run the tests using the following command:\n```\nnpm test\n```\n\n5. Observe the test results in your terminal. Any failures or errors will be displayed, helping you identify and address any issues.\n\nRunning these tests regularly ensures that your project maintains its expected behavior and helps catch any regressions or bugs early in development.\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 (in alphabetical order)\u003ca name=\"authors\"\u003e\u003c/a\u003e\n\nThis project was developed by the following people:\n\n👤 **Cosmos Hagan**\n- GitHub: [cosmosha](https://github.com/Cosmosha)\n- LinkedIn: [cosmoshagan](https://gh.linkedin.com/in/cosmoshagan)\n- Twitter: [@hagancosmos](https://twitter.com/hagancosmos)\n\n👤 **Ibrahim Hossain**\n- GitHub: [ibugithub](https://github.com/ibugithub)\n- LinkedIn: [ibuu](https://www.linkedin.com/in/ibuu/)\n- Twitter: [@mdibrahimibuu](https://twitter.com/mdibrahimibuu)\n\n👤 **Jorge Camargo**\n- GitHub: [@jicamargo](https://github.com/jicamargo)\n- LinkedIn: [Jorge Camargo](https://www.linkedin.com/in/jorgecamargog/?locale=en_US)\n- Twitter: [@ji_camargo](https://twitter.com/ji_camargo)\n\n👤 **Lincoln Gibson**\n- GitHub: [lincoln1883](https://github.com/lincoln1883)\n- LinkedIn: [lincoln-gibson](https://www.linkedin.com/in/lincoln-gibson)\n- Twitter: [@lincolngibson7](https://twitter.com/lincolngibson7)\n\n👤 **Moyasi Ginko**\n- GitHub: [@MoyasiGinko](https://github.com/MoyasiGinko)\n- LinkedIn: [moyasi](https://www.linkedin.com/in/moyasi/)\n- Twitter: [@moyasi_ginko](https://twitter.com/moyasi_ginko)\n\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\n## 📈 Kanban Board\u003ca name=\"kanban\"\u003e\u003c/a\u003e\n\nThe project's kanban board is available [here](https://github.com/lincoln1883/appointment-capstone-frontend/projects/1)\n\nYou can see a screenshoot of the initial state of the board below:\n\n![Kanban Board](./src/assets/images/kanban-board-initial.png)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- FUTURE FEATURES --\u003e\n## 🔭 Future Features \u003ca name=\"future-features\"\u003e\u003c/a\u003e\n\n- [ ] **Add categories to services**\n- [ ] **Add payment processing**\n- [ ] **Add user profiles**\n- [ ] **Add user reviews and ratings**\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/lincoln1883/Appointment-capstone-backend/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\n- If you like this project please give it 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\n## 🙏 Acknowledgments \u003ca name=\"acknowledgements\"\u003e\u003c/a\u003e\n\n- We would like to thank to [microverse](https://www.microverse.org/) For teaching me the database and more things.\n- Thank to Murat Korkmaz on Behance for the design of the website 👉🏽.(https://www.behance.net/gallery/26425031/Vespa-Responsive-Redesign)\n- Thanks a lot to everyone who will get time to check this out.\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\u003c!-- LICENSE --\u003e\n\n## 📝 License \u003ca name=\"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%2Flincoln1883%2Frepairman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flincoln1883%2Frepairman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flincoln1883%2Frepairman/lists"}