Giter VIP home page Giter VIP logo

drdoc_client's Introduction

Welcome to DR.DOC

DR.DOC is an innovative medical application designed to streamline the process of medical prescription management while enhancing doctor-client interactions. With a focus on user convenience and security, DR.DOC offers a range of features including facial recognition-based authentication, webcam scanning for rapid document uploads, and seamless communication channels between clients, doctors, and administrators.

Key Features

  • Facial Recognition Authentication: Users can register and log in using facial recognition technology, ensuring secure and convenient access to the platform.
  • Medical Prescription Management: Easily upload and manage medical prescriptions with the integrated scanner, allowing for quick document capture from a webcam.
  • Doctor Application and Validation: Clients can apply to become doctors, with admin validation to maintain credibility. Approved doctors gain permission to add documents/prescriptions to client profiles.
  • Doctor-Client Interaction: Clients can search for and add doctors to their list of "My Doctors," facilitating direct communication and document sharing between medical professionals and clients.
  • Chat System: The app features a built-in chat system where doctors and admins can communicate efficiently, enhancing collaboration and support.
  • Contact Form: The homepage includes a contact form for users to reach out to administrators, enabling easy communication for queries, feedback, or support requests.

Technology Stack

Frontend (Client Side)
  • React.js: A popular JavaScript library for building user interfaces.
  • HTML/CSS: Markup and styling languages for structuring and presenting content.
Backend (Server Side)
  • Express.js: A web application framework for Node.js, providing robust features for building APIs and handling HTTP requests.
  • Flask: A lightweight Python web framework for building web applications and APIs.
Database
  • Firebase Realtime Database: A NoSQL cloud-hosted database provided by Google Firebase, offering real-time synchronization and offline support.
  • MongoDB: A document-oriented NoSQL database used for storing structured data in JSON-like documents.
Authentication
  • Facial Recognition: Utilizes face recognition algorithms and libraries for biometric authentication.
Other Tools and Libraries
  • React Router: A routing library for React applications, enabling navigation and routing between different components.
  • Axios: A promise-based HTTP client for making asynchronous HTTP requests to the server.
  • React Toastify: A React library for displaying customizable toast notifications.
  • Face-API.js: JavaScript API for face detection and recognition in the browser.

Environment Variables

  • For express server in :root/server/Express/.env
    • PORT: defint a port for express server
    • MONGO_URL: MongoDB connection string.
    • MONGO_DATABASE: MongoDB database name
    • AUTH_SECRET: Secret key for JSON Web Token authentication.
    • EMAIL: Username for sending emails (if using Nodemailer).
    • EMAIL_PASSWORD: Password for sending emails (if using Nodemailer).
    • PUBLIC_DOMAIN: Public hosted domain of the site (in development use localhost:3000 || port)
  • For python server in :root/server/Python/.env
    • MONGO_URL: MongoDB connection string.
    • MONGO_DATABASE: MongoDB database name
    • AUTH_SECRET: Secret key for JSON Web Token authentication.
    • EXPRESS_SERVER: Express server link
  • For client in :root/client/.env
    • REACT_APP_DATABASE_API: Base URL of the express server.
    • REACT_APP_PYTHON_SERVER_API: Base URL of the python server.
    • REACT_APP_FIREBASE_API_KEY: Firebase API key.
    • REACT_APP_FIREBASE_AUTH_DOMAIN: Firebase authentication domain.
    • REACT_APP_FIREBASE_PROJECT_IDA: Firebase project ID.
    • REACT_APP_FIREBASE_STORAGE_BUCKET: Firebase storage bucket.
    • REACT_APP_FIREBASE_MESSAGING_SENDER_ID: Firebase messaging sender ID.
    • REACT_APP_FIREBASE_APP_ID: Firebase application ID.
  • For admin-doctor in :root/admin-doctor/.env
    • REACT_APP_MY_KEY: Base URL of the express server.
    • REACT_APP_PYTHON_SERVER_API: Base URL of the python server.
    • REACT_APP_FIREBASE_API_KEY: Firebase API key.
    • REACT_APP_FIREBASE_AUTH_DOMAIN: Firebase authentication domain.
    • REACT_APP_FIREBASE_PROJECT_IDA: Firebase project ID.
    • REACT_APP_FIREBASE_STORAGE_BUCKET: Firebase storage bucket.
    • REACT_APP_FIREBASE_MESSAGING_SENDER_ID: Firebase messaging sender ID.
    • REACT_APP_FIREBASE_APP_ID: Firebase application ID.

Installation

  1. Clone the Repository:
git clone https://github.com/sangamprashant/DrDoc_Client.git
  1. Navigate to Project Directory
cd DrDoc_Client
  1. Install Dependencies
  • client
    cd client
    npm install
    
    Start Frontend Server (React.js)
    npm start
    
    go back to :root folder
    cd ..
    
  • admin-doctor
    cd admin-doctor
    npm install
    
    Start Frontend Server (React.js)
    npm start
    
    go back to :root folder
    cd ..
    
  • Express server
    cd server/Express
    npm install
    
    Start Express Server
    nodemon index
    
    Go back to :root/server folder
    cd ..
    
  • Python server
    cd Python
    
    Create a virtual environment named venv using the following command
    python -m venv venv
    
    Activate the virtual environment based on your operating system
    • Windows
      venv\Scripts\activate
      
    • Unix or MacOS
       source venv/bin/activate
      
      Install Dependencies from requirements.txt
    pip install -r requirements.txt
    
    Verify Installation
    pip list
    
    Start Flask Server:
    python main.py
    

Learnings from DR.DOC Project

  1. Facial Recognition Integration: Implementing facial recognition technology for user authentication provided valuable insights into biometric security measures. Understanding the concepts and challenges of facial recognition helped in creating a secure and user-friendly authentication system.
  2. Real-time Communication: Developing a chat system within the application enhanced my understanding of real-time communication protocols and WebSocket technology. Learning to handle real-time data exchange efficiently between clients and servers was a significant learning experience.
  3. Medical Data Management: Managing medical prescriptions and documents required careful consideration of data security and privacy regulations. Handling sensitive medical information helped in understanding the importance of data encryption and compliance with healthcare standards.
  4. User Experience Design: Designing a user-friendly interface with intuitive navigation and clear information architecture improved my skills in user experience (UX) design. Considering user feedback and iterating on design choices helped in creating a more engaging and accessible application.
  5. Full-stack Development: Working on both frontend and backend components of the application provided valuable insights into full-stack development. Understanding the interactions between frontend user interfaces and backend server logic was crucial for building a seamless user experience.
  6. Team Collaboration: Collaborating with team members on different aspects of the project improved my communication and teamwork skills. Working together to address challenges and solve problems effectively contributed to the success of the project.
  7. Deployment and DevOps: Deploying the application on cloud platforms and managing server infrastructure provided practical experience in deployment automation and DevOps practices. Learning to use tools for continuous integration and deployment enhanced my skills in software delivery and deployment pipelines.
  8. Error Handling and Debugging: Dealing with errors and debugging issues in both frontend and backend code improved my problem-solving abilities. Learning to troubleshoot and resolve issues efficiently was essential for maintaining the reliability and performance of the application.

Images

Client Pages

  • home

  • login

  • register

  • profile

  • pending document

  • upload document

  • profile information

  • edit profile

  • contact

  • account switching

  • scanner

  • search

  • change password

drdoc_client's People

Contributors

sangamprashant avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.