{"id":26127873,"url":"https://github.com/asyylz/patientappointment-app","last_synced_at":"2026-04-12T13:02:46.131Z","repository":{"id":242272355,"uuid":"809113294","full_name":"asyylz/PatientAppointment-App","owner":"asyylz","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-20T18:19:50.000Z","size":11536,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-10T18:51:00.955Z","etag":null,"topics":["cors-proxy","expressjs","helmet","jwt-authentication","mongodb-atlas","mongoose","mongoose-schema","nodejs","react","reactjs","redux","reduxthunk","reduxtoolkit","typescript"],"latest_commit_sha":null,"homepage":"https://patientappointmentsystem.netlify.app","language":"TypeScript","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/asyylz.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":"2024-06-01T18:11:47.000Z","updated_at":"2024-09-20T18:19:54.000Z","dependencies_parsed_at":"2024-06-24T13:11:05.843Z","dependency_job_id":"8b4f8703-15c8-49b8-b584-b4c52d1f1754","html_url":"https://github.com/asyylz/PatientAppointment-App","commit_stats":null,"previous_names":["asyylz/patientappointment-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/asyylz/PatientAppointment-App","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asyylz%2FPatientAppointment-App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asyylz%2FPatientAppointment-App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asyylz%2FPatientAppointment-App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asyylz%2FPatientAppointment-App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asyylz","download_url":"https://codeload.github.com/asyylz/PatientAppointment-App/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asyylz%2FPatientAppointment-App/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276514163,"owners_count":25655750,"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","status":"online","status_checked_at":"2025-09-23T02:00:09.130Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["cors-proxy","expressjs","helmet","jwt-authentication","mongodb-atlas","mongoose","mongoose-schema","nodejs","react","reactjs","redux","reduxthunk","reduxtoolkit","typescript"],"created_at":"2025-03-10T18:38:35.064Z","updated_at":"2025-09-23T04:16:25.991Z","avatar_url":"https://github.com/asyylz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbody\u003e\n    \u003cheader\u003e\n        \u003ch1\u003ePatient Appointment Booking App\u003c/h1\u003e\n        \u003cp\u003eThe Patient Appointment System is a modern, efficient full-stack web application designed to streamline the\n            process of managing patient appointments in healthcare facilities. Built with cutting-edge technologies for\n            both frontend and backend, this system offers a user-friendly interface for both patients and healthcare\n            providers, enhancing the overall appointment scheduling experience.\u003c/p\u003e\n    \u003c/header\u003e\n    \u003csection id=\"table-of-contents\"\u003e\n        \u003ch2\u003eTable of Contents\u003c/h2\u003e\n        \u003cul\u003e\n            \u003cli\u003e\u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#technologies\"\u003eTechnologies\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#development-tools\"\u003eDevelopment Tools\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#outcome\"\u003eOutcome\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#test-coverage\"\u003eTest Coverage\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n        \u003c/ul\u003e\n    \u003c/section\u003e\n    \u003csection id=\"features\"\u003e\n        \u003ch2\u003eFeatures\u003c/h2\u003e\n        \u003cp\u003eKey features covered in this repository:\u003c/p\u003e\n        \u003cul\u003e\n            \u003cli\u003e\u003cstrong\u003eUser Authentication:\u003c/strong\u003eUser Authentication: Secure login and registration system for\n                patients and healthcare providers.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eAppointment Scheduling:\u003c/strong\u003e Easy-to-use interface for booking, rescheduling, and canceling\n                appointments.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eReal-time Updates:\u003c/strong\u003e Instant notifications for appointment confirmations and reminders.\n            \u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eInteractive Map:\u003c/strong\u003e Integration with Leaflet for location-based services.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eResponsive Design:\u003c/strong\u003e Seamless experience across desktop and mobile devices.\u003c/li\u003e\n        \u003c/ul\u003e\n    \u003c/section\u003e\n    \u003csection id=\"technologies\"\u003e\n        \u003ch2\u003eTechnologies\u003c/h2\u003e\n        \u003ch3\u003eFrontend\u003c/h3\u003e\n        \u003cul\u003e\n            \u003cli\u003e\u003cstrong\u003eReact:\u003c/strong\u003e A JavaScript library for building user interfaces.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eTypeScript:\u003c/strong\u003e Adds static typing to JavaScript for improved developer experience.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eRedux Toolkit:\u003c/strong\u003e State management for React applications.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eReact Router:\u003c/strong\u003e Declarative routing for React applications.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eAxios:\u003c/strong\u003e Promise-based HTTP client for making API requests.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eJWT Decode:\u003c/strong\u003e Decoding JSON Web Tokens for authentication.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eLeaflet:\u003c/strong\u003e Open-source JavaScript library for mobile-friendly interactive maps.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eReact Toastify:\u003c/strong\u003e Add notifications to your app with ease.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eRedux Persist:\u003c/strong\u003e Persist and rehydrate a Redux store.\u003c/li\u003e\n        \u003c/ul\u003e\n        \u003ch3\u003eBackend\u003c/h3\u003e\n        \u003cul\u003e\n            \u003cli\u003e\u003cstrong\u003eNode.js:\u003c/strong\u003e JavaScript runtime built on Chrome's V8 JavaScript engine.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eExpress:\u003c/strong\u003e Web application framework for Node.js.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eMongoDB:\u003c/strong\u003e NoSQL database for storing application data.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eMongoose:\u003c/strong\u003e MongoDB object modeling for Node.js.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eJSON Web Token:\u003c/strong\u003e Securely transmitting information between parties as a JSON object.\n            \u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eBcrypt:\u003c/strong\u003e Library for hashing passwords.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eAWS SDK:\u003c/strong\u003e For integrating with Amazon Web Services (S3 for file storage).\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eMulter \u0026 Multer-S3:\u003c/strong\u003e Middleware for handling multipart/form-data and uploading to S3.\n            \u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eNodemailer:\u003c/strong\u003e Send emails from Node.js.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eExpress Rate Limit:\u003c/strong\u003e Basic rate-limiting middleware for Express.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eHelmet:\u003c/strong\u003e Helps secure Express apps by setting various HTTP headers.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eCORS:\u003c/strong\u003e Enable CORS with various options.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eMorgan:\u003c/strong\u003e HTTP request logger middleware.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eDotenv:\u003c/strong\u003e Loads environment variables from a .env file.\u003c/li\u003e\n        \u003c/ul\u003e\n    \u003c/section\u003e\n    \u003csection id=\"development-tools\"\u003e\n        \u003ch2\u003eDevelopment Tools\u003c/h2\u003e\n        \u003cul\u003e\n            \u003cli\u003e\u003cstrong\u003eVite:\u003c/strong\u003e Next generation frontend tooling for faster development.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eESLint:\u003c/strong\u003e Linting utility for JavaScript and TypeScript.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eJest:\u003c/strong\u003e JavaScript Testing Framework.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eReact Testing Library:\u003c/strong\u003e Testing utilities for React.\u003c/li\u003e\n            \u003cli\u003e\u003cstrong\u003eMSW (Mock Service Worker):\u003c/strong\u003e API mocking library for browser and Node.js.\u003c/li\u003e\n        \u003c/ul\u003e\n    \u003c/section\u003e\n    \u003csection id=\"getting-started\"\u003e\n        \u003ch2\u003eGetting Started\u003c/h2\u003e\n        \u003cp\u003eTo get started with the repository, follow these steps:\u003c/p\u003e\n        \u003ch3\u003eInstallation\u003c/h3\u003e\n        \u003col\u003e\n            \u003cli\u003eClone the repository to your local machine using the following command:\u003c/li\u003e\n            \u003ccode\u003egit clone git clone https://github.com/your-username/patient-appointment-system.git\u003c/code\u003e\n            \u003cli\u003eNavigate to the project directory:\u003c/li\u003e\n            \u003ccode\u003ecd patient-appointment-system\u003c/code\u003e\n            \u003cli\u003eInstall dependencies for both frontend and backend:\n            \u003c/li\u003e\n            \u003ccode\u003ecd frontend \u0026\u0026 npm install\u003c/code\u003e\u003cbr\u003e\n            \u003ccode\u003ecd ../backend \u0026\u0026 npm install\u003c/code\u003e\n            \u003cli\u003eSet up your environment variables:\n                Create a .env file in the backend directory\u003cbr\u003e\n                Add necessary environment variables (database URL, AWS credentials, etc.)\u003c/li\u003e\n            \u003cli\u003eStart the development server:\u003c/li\u003e\n            \u003ccode\u003e# In the backend directory\u003c/code\u003e\u003cbr\u003e\n            \u003ccode\u003enpm run dev\u003c/code\u003e\u003cbr\u003e\n            \u003ccode\u003e# In the frontend directory\u003c/code\u003e\u003cbr\u003e\n            \u003ccode\u003enpm run dev\u003c/code\u003e\u003cbr\u003e\n            \u003ch3\u003eTesting\u003c/h3\u003e\n            \u003cli\u003eRun the test suite using npm:\u003c/li\u003e\n            \u003ccode\u003enpm test\u003c/code\u003e\n        \u003c/ol\u003e\n    \u003c/section\u003e\n    \u003csection id=\"outcome\"\u003e\n        \u003ch1\u003eOutcome\u003c/h1\u003e\n        \u003cp\u003eTo experience the application you can use following email and password:\u003c/p\u003e\u003cbr\u003e\n        \u003cp\u003e\u003cstrong\u003eemail:\u003c/strong\u003e alice@test.com\u003cbr\u003e\n            \u003cstrong\u003epassword:\u003c/strong\u003e Newpass123.\n        \u003c/p\u003e\n        \u003cp\u003eReach outcome site \u003ca href=\"https://patientappointmentsystem.netlify.app/\"\u003ehere\u003c/a\u003e \u003c/p\u003e\n        \u003cimg src=\"https://github.com/asyylz/PatientAppointment-App/blob/b1e1840e120af6e57ebcfe8e52364754f0c2b6e2/frontend/public/outcome.gif\"\n            alt=\"\"\u003e\n    \u003c/section\u003e\n    \u003csection id=\"test-coverage\"\u003e\n        \u003ch1\u003eTest Coverage\u003c/h1\u003e\n        \u003cimg src=\"https://github.com/asyylz/PatientAppointment-App/blob/f2c602753c804d079f925a7609d2d2ed7ba98199/frontend/public/coverage-report.jpeg\"\n            alt=\"\"\u003e\n    \u003c/section\u003e\n    \u003cfooter\u003e\n        \u003ch2\u003eContributing\u003c/h2\u003e\n        \u003cp\u003eContributions to the project are welcome! If you find any issues or have suggestions for improvements, please\n            feel free to open an issue or submit a pull request.\u003c/p\u003e\n        \u003ch2\u003eLicense\u003c/h2\u003e\n        \u003cp\u003eThis project is licensed under the MIT License.\u003c/p\u003e\n    \u003c/footer\u003e\n\u003c/body\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasyylz%2Fpatientappointment-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasyylz%2Fpatientappointment-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasyylz%2Fpatientappointment-app/lists"}