A modern, scalable iOS healthcare application built with SwiftUI, designed for finding and connecting with medical providers.
MedCall is a feature-rich iOS application that provides users with a seamless healthcare experience, offering a curated directory of medical specialists across various categories. Users can search, filter, and directly contact healthcare providers through the app.
This project follows a clean, modular architecture designed for scalability, maintainability, and performance.
- Separation of Concerns: Clear boundaries between UI, business logic, and data layers
- Protocol-Based Design: Dependency injection and testability through protocols
- MVVM Pattern: Model-View-ViewModel architecture for state management
- Component-Based UI: Reusable SwiftUI components for consistent design
medcall/
βββ README.md
βββ structure.md
βββ App/
β βββ medcallApp.swift
βββ Assets.xcassets/
β βββ Contents.json
β βββ AccentColor.colorset/
β β βββ Contents.json
β βββ AppIcon.appiconset/
β βββ Contents.json
βββ Models/
β βββ Entities/
β βββ Provider.swift
β βββ Category.swift
β βββ Product.swift
βββ Protocols/
βββ Resources/
βββ Services/
β βββ Network/
β βββ ProviderService.swift
β βββ CategoryService.swift
βββ Tests/
β βββ Unit/
β β βββ medcallTests.swift
β βββ Integration/
β βββ medcallUITests.swift
β βββ medcallUITestsLaunchTests.swift
βββ Utils/
β βββ Extensions/
βββ ViewModels/
βββ Views/
β βββ Screens/
β β βββ ContentView.swift
β β βββ HomeView.swift
β β βββ MedicalProvidersView.swift
β β βββ ProviderListView.swift
β βββ Components/
β βββ ProviderCard.swift
βββ [Xcode project files]
- Provider Directory: Browse medical providers with search and filtering capabilities
- Category Organization: Providers organized by medical specialties
- Direct Contact: Call healthcare providers directly from the app
- Real-time Search: Search providers by name or specialty
- Responsive Design: Clean, modern SwiftUI interface with gradient themes
- SwiftUI Framework: Modern declarative UI framework
- MVVM Architecture: Clean separation of concerns
- Component-Based Design: Reusable UI components
- Responsive Layout: Adaptive grid layouts for provider display
- Search & Filter: Real-time provider filtering and search
- Network Integration: RESTful API integration for provider data
- Pagination Support: Efficient loading of large provider datasets
- Language: Swift 5.0+
- UI Framework: SwiftUI
- Architecture: MVVM (Model-View-ViewModel)
- Development Environment: Xcode 12.0+
- Target Platform: iOS 14.0+
- Welcome message and app introduction
- Healthcare-focused design
- Navigation to provider directory
- Clean, centered layout
- Provider grid display with 2-column layout
- Real-time search functionality for provider names and specialties
- Dynamic category filtering with pagination
- Modern gradient design with loading states
- Provider cards with contact functionality
- Reusable component for provider display
- Provider icon with gradient styling
- Provider name, specialty, and direct call button
- Consistent modern styling with shadows and gradients
- Primary Blue: Used for accents and interactive elements
- System Gray: Used for backgrounds and secondary text
- White/Black: Used for primary text and card backgrounds
- Headlines: Bold, semibold weights for titles
- Body Text: Regular weight for descriptions
- Interactive Elements: Medium weight for buttons and navigation
- Grid System: 2-column provider grid for optimal viewing
- Spacing: Consistent padding and margins throughout
- Corner Radius: Rounded corners for modern appearance
- Gradient Themes: Blue-to-teal gradients for modern healthcare aesthetic
- Xcode 12.0 or later
- iOS 14.0+ target deployment
- Swift 5.0+ language version
- Clone the repository
- Open
medcall.xcodeprojin Xcode - Select the appropriate target device/simulator
- Build and run the application
- Bundle Identifier: com.medcall.app
- Deployment Target: iOS 14.0
- Swift Language Version: Swift 5
- Located in
Tests/Unit/ - Test individual components and business logic
- Run with
Command + Uin Xcode
- Located in
Tests/Integration/ - Test component interactions and UI flows
- Include launch performance tests
- Network API integration for real provider data
- User authentication and profile management
- Provider favorites and contact history
- Provider image loading from remote sources
- User reviews and ratings system for providers
- Appointment scheduling functionality
- Provider availability and location services
- Comprehensive test coverage
- Performance monitoring and optimization
- Accessibility improvements
- Localization support
- Lazy Loading: Provider grid uses LazyVGrid for performance
- Pagination: Efficient loading of large provider datasets
- Memory Management: Proper SwiftUI state management
- Responsive Design: Adaptive layouts for different screen sizes
- Network Caching: Optimized API calls with error handling
- Input Validation: Proper validation for user inputs
- Secure Storage: Foundation for secure data storage
- Network Security: Prepared for secure API communication
- Follow the established folder structure
- Maintain separation of concerns
- Add appropriate documentation for new features
- Include unit tests for new functionality
- Files: PascalCase for types, camelCase for instances
- Folders: PascalCase for directory names
- Constants: UpperCamelCase for constants and enums
This project is developed for educational and demonstration purposes.
For questions or issues related to this project, please refer to the project documentation or create an issue in the project repository.
Built with β€οΈ using SwiftUI and modern iOS development practices.