A modern, scalable healthcare application for patients built with React Native
Book appointments β’ View prescriptions β’ Manage medical data β all in one place
- β¨ Features
- π οΈ Tech Stack
- π Project Structure
- πΌοΈ Screenshots
- π Getting Started
- π Authentication Flow
- π€ Contributing
- π§ Contact
- π License
| π | 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 |
- React Native - Cross-platform mobile development
- React.js - Web version (planned)
- Native Components - Custom styling and UI components
- Node.js - Runtime environment
- Express.js - Web application framework
- PostgreSQL - Database (hosted on NEON)
- JWT - JSON Web Tokens for secure authentication
- Google OAuth - Social login integration
- OTP Email - One-time password verification
- Nodemailer - Email service for OTP delivery
- Sessions - User session management
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
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
-
Clone the repository
git clone https://github.com/Adeel-116/Medi-Connect-app.git cd Medi-Connect-app -
Install dependencies
npm install # or yarn install -
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.
The backend is maintained in a separate repository for better organization.
-
Clone the backend repository
git clone https://github.com/Adeel-116/Medi-Connect-app-Backend.git cd Medi-Connect-app-Backend -
Install backend dependencies
npm install
-
Environment Configuration
Create a
.envfile 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
-
Start the backend server
npm start # or node index.js
The backend will be available at http://localhost:3000
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
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
We welcome contributions! Here's how you can help make MediConnect better:
-
Fork the repository
git fork https://github.com/Adeel-116/Medi-Connect-app.git
-
Create a feature branch
git checkout -b feature/amazing-feature
-
Make your changes
- Follow the existing code style
- Add comments for complex logic
- Test your changes thoroughly
-
Commit your changes
git commit -m "β¨ Add amazing feature" -
Push to your branch
git push origin feature/amazing-feature
-
Open a Pull Request
- Describe your changes clearly
- Include screenshots if applicable
- Reference any related issues
- 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
Need help setting up the app or have questions? Don't hesitate to reach out!
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.

.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
