https://github.com/asyylz/patientappointment-app
https://github.com/asyylz/patientappointment-app
cors-proxy expressjs helmet jwt-authentication mongodb-atlas mongoose mongoose-schema nodejs react reactjs redux reduxthunk reduxtoolkit typescript
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/asyylz/patientappointment-app
- Owner: asyylz
- License: mit
- Created: 2024-06-01T18:11:47.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-20T18:19:50.000Z (over 1 year ago)
- Last Synced: 2025-03-10T18:51:00.955Z (about 1 year ago)
- Topics: cors-proxy, expressjs, helmet, jwt-authentication, mongodb-atlas, mongoose, mongoose-schema, nodejs, react, reactjs, redux, reduxthunk, reduxtoolkit, typescript
- Language: TypeScript
- Homepage: https://patientappointmentsystem.netlify.app
- Size: 11 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Patient Appointment Booking App
The Patient Appointment System is a modern, efficient full-stack web application designed to streamline the
process of managing patient appointments in healthcare facilities. Built with cutting-edge technologies for
both frontend and backend, this system offers a user-friendly interface for both patients and healthcare
providers, enhancing the overall appointment scheduling experience.
Table of Contents
Features
Key features covered in this repository:
-
User Authentication:User Authentication: Secure login and registration system for
patients and healthcare providers. -
Appointment Scheduling: Easy-to-use interface for booking, rescheduling, and canceling
appointments. -
Real-time Updates: Instant notifications for appointment confirmations and reminders.
-
Interactive Map: Integration with Leaflet for location-based services. -
Responsive Design: Seamless experience across desktop and mobile devices.
Technologies
Frontend
-
React: A JavaScript library for building user interfaces. -
TypeScript: Adds static typing to JavaScript for improved developer experience. -
Redux Toolkit: State management for React applications. -
React Router: Declarative routing for React applications. -
Axios: Promise-based HTTP client for making API requests. -
JWT Decode: Decoding JSON Web Tokens for authentication. -
Leaflet: Open-source JavaScript library for mobile-friendly interactive maps. -
React Toastify: Add notifications to your app with ease. -
Redux Persist: Persist and rehydrate a Redux store.
Backend
-
Node.js: JavaScript runtime built on Chrome's V8 JavaScript engine. -
Express: Web application framework for Node.js. -
MongoDB: NoSQL database for storing application data. -
Mongoose: MongoDB object modeling for Node.js. -
JSON Web Token: Securely transmitting information between parties as a JSON object.
-
Bcrypt: Library for hashing passwords. -
AWS SDK: For integrating with Amazon Web Services (S3 for file storage). -
Multer & Multer-S3: Middleware for handling multipart/form-data and uploading to S3.
-
Nodemailer: Send emails from Node.js. -
Express Rate Limit: Basic rate-limiting middleware for Express. -
Helmet: Helps secure Express apps by setting various HTTP headers. -
CORS: Enable CORS with various options. -
Morgan: HTTP request logger middleware. -
Dotenv: Loads environment variables from a .env file.
Development Tools
-
Vite: Next generation frontend tooling for faster development. -
ESLint: Linting utility for JavaScript and TypeScript. -
Jest: JavaScript Testing Framework. -
React Testing Library: Testing utilities for React. -
MSW (Mock Service Worker): API mocking library for browser and Node.js.
Getting Started
To get started with the repository, follow these steps:
Installation
- Clone the repository to your local machine using the following command:
- Navigate to the project directory:
- Install dependencies for both frontend and backend:
- Set up your environment variables:
Create a .env file in the backend directory
Add necessary environment variables (database URL, AWS credentials, etc.) - Start the development server:
- Run the test suite using npm:
git clone git clone https://github.com/your-username/patient-appointment-system.git
cd patient-appointment-system
cd frontend && npm installcd ../backend && npm install
# In the backend directorynpm run dev# In the frontend directorynpm run devTesting
npm test
Outcome
To experience the application you can use following email and password:
email: alice@test.com
password: Newpass123.
Reach outcome site here
Test Coverage
Contributing
Contributions to the project are welcome! If you find any issues or have suggestions for improvements, please
feel free to open an issue or submit a pull request.
License
This project is licensed under the MIT License.