Skip to content

Adeel-116/Medi-Connect-App

Repository files navigation

MediConnect Logo

🩺 MediConnect – Patient Healthcare App

A modern, scalable healthcare application for patients built with React Native

Book appointments β€’ View prescriptions β€’ Manage medical data β€” all in one place

React Native Node.js PostgreSQL Express.js


🧭 Table of Contents


✨ Features

πŸ” Secure Authentication
OTP-based login with JWT tokens and Google OAuth support
πŸ” Doctor Search
Find healthcare providers by specialty, location, and availability
πŸ“… Appointment Booking
Schedule and manage appointments with ease
πŸ’Š Prescription Management
View and track your prescriptions digitally
πŸ“‹ Medical Records
Access your complete medical history and information
πŸ‘€ Profile Management
Update personal information and app preferences
🏠 Dashboard
Clean, intuitive home screen with quick access to key features
πŸ“± Responsive Design
Optimized for mobile with component-based architecture

πŸ› οΈ Tech Stack

Frontend

  • React Native - Cross-platform mobile development
  • React.js - Web version (planned)
  • Native Components - Custom styling and UI components

Backend

  • Node.js - Runtime environment
  • Express.js - Web application framework
  • PostgreSQL - Database (hosted on NEON)

Authentication & Security

  • JWT - JSON Web Tokens for secure authentication
  • Google OAuth - Social login integration
  • OTP Email - One-time password verification

Additional Tools

  • Nodemailer - Email service for OTP delivery
  • Sessions - User session management

πŸ“‚ Project Structure

MediConnect/
β”œβ”€β”€ πŸ“± App/                         # React Native Application
β”‚   β”œβ”€β”€ 🧩 components/              # Reusable UI components
β”‚   β”œβ”€β”€ πŸ“Ί screens/                 # Application screens
β”‚   β”œβ”€β”€ 🎨 constants/               # Colors, themes, and constants
β”‚   β”œβ”€β”€ 🧭 navigation/              # Tab & Stack navigation setup
β”‚   └── πŸ–ΌοΈ assets/                  # Images, icons, and static files
β”‚       └──Application assets        # Application images
β”‚
β”œβ”€β”€ πŸ“Έ App_pictures/                # Screenshots for documentation
β”‚   └── picture (1-9).png          # App screenshots
β”‚
β”œβ”€β”€ πŸ”§ Backend/                     # Backend API (separate repository)
└── πŸ“„ README.md                    # Project documentation

πŸ–ΌοΈ Screenshots

πŸ“± Mobile App Preview

Login Screen OTP Verification Home Dashboard Doctor Search

Appointment Booking Prescriptions Medical Records Profile Settings

Additional Features


πŸš€ Getting Started

πŸ“‹ Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v14 or higher)
  • npm or yarn
  • Android Studio (for Android development)
  • Xcode (for iOS development - macOS only)
  • PostgreSQL database access

πŸ“± Frontend Setup

  1. Clone the repository

    git clone https://github.com/Adeel-116/Medi-Connect-app.git
    cd Medi-Connect-app
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Start the development server

    # For Expo CLI
    npx expo start
    
    # For React Native CLI
    npx react-native run-android  # Android
    npx react-native run-ios      # iOS (macOS only)

⚠️ Important: Make sure you have Android Studio with SDK environment properly configured for Android development.

πŸ”§ Backend Setup

The backend is maintained in a separate repository for better organization.

  1. Clone the backend repository

    git clone https://github.com/Adeel-116/Medi-Connect-app-Backend.git
    cd Medi-Connect-app-Backend
  2. Install backend dependencies

    npm install
  3. Environment Configuration

    Create a .env file in the backend root directory:

    # Server Configuration
    PORT=3000
    
    # Database
    DATABASE_URL=your_neon_postgresql_connection_string
    
    # Email Service (for OTP)
    EMAIL=your_email@example.com
    APP_PASSWORD=your_email_app_password
    
    # Google OAuth
    GOOGLE_CLIENT_ID=your_google_client_id
    GOOGLE_CLIENT_SECRET=your_google_client_secret
    
    # JWT Secret
    JWT_SECRET=your_jwt_secret_key
  4. Start the backend server

    npm start
    # or
    node index.js

The backend will be available at http://localhost:3000


πŸ” Authentication Flow

Our secure authentication system follows these steps:

graph TD
    A[User enters email] --> B[System sends OTP via email]
    B --> C[User enters OTP code]
    C --> D{OTP Valid?}
    D -->|Yes| E[Generate JWT Token]
    D -->|No| F[Show error message]
    E --> G[Initialize user session]
    G --> H[Redirect to dashboard]
    F --> C
    
    I[Google OAuth Option] --> J[Google authentication]
    J --> E
Loading

Authentication Methods:

  • πŸ“§ Email + OTP: Primary authentication method using Nodemailer
  • πŸ”‘ Google OAuth: Social login integration
  • πŸ›‘οΈ JWT Tokens: Secure session management
  • πŸ”„ Session Persistence: Automatic login for returning users

🀝 Contributing

We welcome contributions! Here's how you can help make MediConnect better:

Getting Started with Contributions

  1. Fork the repository

    git fork https://github.com/Adeel-116/Medi-Connect-app.git
  2. Create a feature branch

    git checkout -b feature/amazing-feature
  3. Make your changes

    • Follow the existing code style
    • Add comments for complex logic
    • Test your changes thoroughly
  4. Commit your changes

    git commit -m "✨ Add amazing feature"
  5. Push to your branch

    git push origin feature/amazing-feature
  6. Open a Pull Request

    • Describe your changes clearly
    • Include screenshots if applicable
    • Reference any related issues

Code Style Guidelines

  • Use meaningful variable and function names
  • Follow React Native best practices
  • Maintain consistent indentation
  • Add JSDoc comments for functions
  • Write unit tests for new features

πŸ“§ Contact

Muhammad Adeel

Muhammad Adeel – Developer Photo

πŸš€ MERN Stack Developer & React Native Expert

Email LinkedIn


Need help setting up the app or have questions? Don't hesitate to reach out!


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License - Feel free to use this project for learning and development purposes.

πŸ’™ Built with passion by Muhammad Adeel

Empowering healthcare through technology

⭐ Star this repo if you found it helpful!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors