DermaLens is a comprehensive mobile application that helps users analyze their skin condition and receive personalized skincare recommendations. Using advanced image processing and AI technology, DermaLens provides accurate skin assessments and tailored treatment plans.
- Capture skin images with your device camera
- Get AI-powered skin analysis and recommendations
- ✨Track your skin health progress over time✨
- Skin Analysis - Capture and analyze skin conditions using your device's camera
- Personalized Recommendations - Receive customized skincare routines and product suggestions
- Progress Tracking - Monitor improvements in your skin health over time
- Expert Consultation - Connect with dermatologists for professional advice
- Educational Content - Access informative articles about skin health and care
The overriding design goal for DermaLens is to make professional-grade skin analysis accessible to everyone. We believe that understanding your skin is the first step to improving it.
DermaLens uses a number of open source projects to work properly:
- Flutter - Cross-platform UI toolkit for building beautiful applications
- Provider - State management solution for Flutter
- Node.js - Evented I/O for the backend
- Express - Fast, unopinionated, minimalist web framework for Node.js
- MongoDB - Document-oriented database program
- TensorFlow - Open-source machine learning framework
- JWT - JSON Web Token for secure authentication
And of course DermaLens itself is open source with a public repository on GitHub.
DermaLens requires Flutter (3.0.0+) and Dart (2.17.0+) to run.
Install the dependencies and run the application.
git clone https://github.com/yourusername/dermalens.git
cd dermalens
flutter pub get
flutter runFor production builds:
flutter build apk --release
# or
flutter build ios --releasedermalens/
├── lib/
│ ├── controllers/ # Business logic controllers
│ ├── models/ # Data models
│ ├── providers/ # State management providers
│ ├── screens/ # UI screens
│ │ ├── auth/ # Authentication screens
│ │ ├── user/ # User-related screens
│ │ └── analysis/ # Skin analysis screens
│ ├── services/ # API and external services
│ ├── utils/ # Utility functions and constants
│ └── widgets/ # Reusable UI components
├── assets/ # Images, fonts, and other static resources
└── test/ # Unit and widget tests
DermaLens is currently extended with the following plugins:
| Plugin | Purpose |
|---|---|
| camera | Access device camera for skin images |
| http | API communication with backend |
| provider | State management |
| shared_preferences | Local storage for user settings |
| image_picker | Select images from gallery |
| flutter_secure_storage | Secure storage for sensitive data |
| charts_flutter | Visualize skin health progress |
Want to contribute? Great!
DermaLens uses Flutter for fast development. Make a change in your file and instantaneously see your updates!
Open your favorite Terminal and run these commands:
flutter runFor hot reload:
Press "r" in the terminal where flutter run is runningFor hot restart:
Press "R" in the terminal where flutter run is runningDermaLens backend is very easy to install and deploy in a Docker container.
cd backend
docker build -t dermalens-api .
docker run -d -p 3000:3000 --name dermalens-api dermalens-apiVerify the deployment by navigating to your server address in your preferred browser.
127.0.0.1:3000/api/healthMIT
Free Software, Better Skin!
