TrueMedic addresses a critical need in Bangladesh's healthcare system by providing a reliable platform to verify doctor credentials. With the increasing concern about medical fraud and fake practitioners, our app ensures patients can trust their healthcare providers.
- Medical Fraud Prevention: Verify authentic BMDC (Bangladesh Medical & Dental Council) registrations
- Patient Safety: Ensure patients receive care from licensed professionals
- Doctor Credibility: Help legitimate doctors showcase their verified credentials
- Healthcare Transparency: Create a trusted ecosystem for medical services
- Professional Registration: Complete profile setup with credentials
- Document Verification: Upload and verify medical certificates
- Dashboard Management: Manage appointments and patient interactions
- Status Tracking: Real-time verification status updates
- Doctor Search: Search by BMDC number or doctor name
- Credential Verification: Instantly verify doctor authenticity
- Review System: Rate and review healthcare experiences
- Appointment Booking: Schedule appointments with verified doctors
- BMBS/BDS Support: Search for both MBBS and BDS practitioners
- Real-time Validation: Instant BMDC number verification
- Local Database: Cached results for faster subsequent searches
- CAPTCHA Security: Secure API integration with verification
- Verification Management: Approve/reject doctor applications
- Analytics Dashboard: Monitor platform usage and statistics
- Report Generation: Comprehensive reporting system
- User Management: Oversee platform users and activities
| Category | Technology | Purpose |
|---|---|---|
| Frontend | Flutter 3.7.0+ | Cross-platform mobile app |
| Backend | Supabase | Database, Authentication, Real-time |
| External API | BMDC Verification API | Official doctor credential verification |
| State Management | Provider + Bloc | App state management |
| UI/UX | Material Design + Google Fonts | Modern, accessible interface |
| Authentication | Supabase Auth | Secure user management |
| Storage | Supabase Storage | Document and image storage |
Before you begin, ensure you have the following installed:
- Flutter SDK (3.7.0 or higher)
- Dart SDK (3.0.0 or higher)
- Android Studio or VS Code with Flutter extensions
- Git for version control
# Windows (using Git)
git clone https://github.com/flutter/flutter.git -b stable
export PATH="$PATH:`pwd`/flutter/bin"
# macOS (using Homebrew)
brew install flutter
# Verify installation
flutter doctor# Android SDK (via Android Studio)
# Download and install Android Studio
# Install Android SDK and accept licenses
flutter doctor --android-licenses# Clone the repository
git clone https://github.com/Tertho1/truemedic.git
cd truemedic
# Navigate to Flutter project
cd truemedic# Get Flutter dependencies
flutter pub get
# For iOS (if applicable)
cd ios && pod install && cd ..- Create a Supabase project at supabase.com
- Copy your project URL and anon key
- Update
lib/main.dart:
await Supabase.initialize(
url: 'YOUR_SUPABASE_URL',
anonKey: 'YOUR_SUPABASE_ANON_KEY',
);- Update
android/app/src/main/AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /># Check connected devices
flutter devices
# Run on connected device/emulator
flutter run
# For specific platform
flutter run -d android # Android
flutter run -d ios # iOS
flutter run -d chrome # Web# Build release APK
flutter build apk --release
# Build App Bundle (recommended for Play Store)
flutter build appbundle --release# Build for iOS
flutter build ios --releasetruemedic/
βββ π lib/
β βββ π main.dart # App entry point
β βββ π models/ # Data models
β βββ π screens/ # UI screens
β β βββ π auth/ # Authentication screens
β β βββ π home/ # Home and dashboard screens
β β βββ π admin/ # Admin panel screens
β β βββ π reviews/ # Review system screens
β βββ π services/ # API and business logic
β βββ π widgets/ # Reusable UI components
β βββ π utils/ # Helper functions
βββ π assets/ # Images and static files
βββ π android/ # Android-specific files
βββ π ios/ # iOS-specific files
βββ π pubspec.yaml # Dependencies and metadata
Create a .env file in the root directory:
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_anon_key
BMDC_API_URL=https://tm-api-zeta.vercel.app-- Users table
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email TEXT UNIQUE NOT NULL,
role TEXT DEFAULT 'user',
created_at TIMESTAMP DEFAULT NOW()
);
-- Doctors table
CREATE TABLE doctors (
id UUID PRIMARY KEY REFERENCES auth.users(id),
bmdc_number TEXT UNIQUE,
full_name TEXT,
specialization TEXT,
verification_status TEXT DEFAULT 'pending',
created_at TIMESTAMP DEFAULT NOW()
);
-- MBBS Doctors table
CREATE TABLE mbbs_doctors (
bmdc_number TEXT PRIMARY KEY,
full_name TEXT,
father_name TEXT,
mother_name TEXT,
blood_group TEXT,
birth_year TEXT,
reg_year TEXT,
valid_till TEXT,
status TEXT,
image_base64 TEXT
);
-- BDS Doctors table
CREATE TABLE bds_doctors (
bmdc_number TEXT PRIMARY KEY,
full_name TEXT,
father_name TEXT,
mother_name TEXT,
blood_group TEXT,
birth_year TEXT,
reg_year TEXT,
valid_till TEXT,
status TEXT,
image_base64 TEXT
);The app integrates with multiple APIs:
- Endpoint:
https://tm-api-zeta.vercel.app - Purpose: Official doctor credential verification
- Features: CAPTCHA protection, session management
- Authentication: User registration and login
- Database: Store and retrieve doctor/user data
- Real-time: Live updates and notifications
# Run unit tests
flutter test
# Run integration tests
flutter test integration_test/
# Generate coverage report
flutter test --coverage- Build signed APK/App Bundle
- Upload to Google Play Console
- Complete store listing
- Submit for review
- Build for iOS
- Upload via Xcode or Application Loader
- Complete App Store Connect listing
- Submit for review
- App Size: ~50MB (optimized)
- Load Time: <3 seconds on average devices
- Offline Support: Cached doctor data available offline
- Cross-Platform: iOS, Android, and Web support
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow Flutter best practices
- Write comprehensive tests
- Update documentation
- Ensure code formatting (
flutter format .)
# Add to AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />// Check your Supabase configuration
print('Supabase URL: ${Supabase.instance.client.supabaseUrl}');# Clean and rebuild
flutter clean
flutter pub get
flutter run- Email: support@truemedic.app
- Website: www.truemedic.app
- Documentation: docs.truemedic.app
- Issues: GitHub Issues
This project is licensed under the MIT License - see the LICENSE file for details.
- Bangladesh Medical & Dental Council (BMDC) for credential verification API
- Supabase for backend infrastructure
- Flutter Team for the amazing framework
- Open Source Community for valuable packages and contributions



