Skip to content

duongdatdev/ai-skincare-advisor-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

53 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AI Skincare Advisor

App Icon

An intelligent Android application that provides personalized skincare advice using AI-powered image analysis. The app analyzes your skin condition through photos and provides customized recommendations for skincare routines and products.

🌟 Features

πŸ” AI-Powered Skin Analysis

  • Smart Image Analysis: Upload photos of your skin for AI-powered analysis
  • Comprehensive Results: Get detailed insights about skin type, hydration, oil levels, and overall condition
  • Concern Detection: Identify specific skin concerns like acne, dryness, aging signs, and more
  • Personalized Recommendations: Receive tailored advice based on your unique skin analysis

πŸ’¬ AI Chat Assistant

  • Interactive Skincare Consultation: Chat with an AI assistant for personalized skincare advice
  • Real-time Responses: Get instant answers to your skincare questions
  • Expert Knowledge: Access professional-level skincare guidance powered by advanced AI

🧴 Product Recommendations

  • Curated Product Database: Browse skincare products matched to your skin type
  • Smart Filtering: Products recommended based on your skin analysis results
  • Direct Purchase Links: Easy access to purchase recommended products
  • Category-based Organization: Find products by cleanser, moisturizer, serum, and more

πŸ“… Skincare Routine Management

  • Custom Routines: Create and manage daily skincare routines
  • Step-by-step Guidance: Follow structured routines with checkboxes for tracking
  • Progress Tracking: Monitor your skincare journey over time

πŸ‘€ User Management

  • Firebase Authentication: Secure login with email/password and Google Sign-In
  • Profile Management: Manage your personal information and preferences
  • Analysis History: View past skin analysis results and track improvements
  • Dark/Light Theme: Toggle between different app themes

πŸ”’ Security & Privacy

  • Firebase Security: Secure data storage with Firebase Firestore
  • reCAPTCHA Protection: Enhanced security for user authentication
  • Local Data Storage: Secure local storage for user preferences

πŸ› οΈ Technology Stack

Frontend

  • Kotlin: Modern Android development language
  • Jetpack Compose: Modern Android UI toolkit
  • Material Design 3: Google's latest design system
  • Navigation Compose: Type-safe navigation
  • Coil: Image loading library

Backend & AI

  • Firebase Authentication: User authentication and management
  • Firebase Firestore: NoSQL cloud database
  • Azure AI: Advanced AI models for skin analysis
  • Google Generative AI (Gemini): AI chat functionality
  • Firebase Crashlytics: Crash reporting and analytics

Architecture

  • MVVM Pattern: Model-View-ViewModel architecture
  • Repository Pattern: Clean data layer architecture
  • StateFlow: Reactive state management
  • Coroutines: Asynchronous programming

πŸ“± Screenshots

Screenshots will be added here showing the main features of the app

πŸš€ Getting Started

Prerequisites

  • Android Studio Arctic Fox or later
  • Android SDK 26 or higher
  • Java 11 or higher
  • Firebase project setup
  • Azure AI credentials

Installation

  1. Clone the repository

    git clone https://github.com/duongdatdev/ai-skincare-advisor-app.git
    cd ai-skincare-advisor-app
  2. Setup Firebase

    • Create a new Firebase project at Firebase Console
    • Enable Authentication and Firestore Database
    • Download google-services.json and place it in the app/ directory
    • Enable Google Sign-In in Authentication methods
  3. Configure API Keys Create a local.properties file in the root directory with the following:

    # Azure AI Configuration
    apiAIToken=your_azure_ai_token_here
    azureAIEndpoint=your_azure_ai_endpoint_here
    
    # Google Services
    GOOGLE_WEB_CLIENT_ID=your_google_web_client_id_here
  4. Setup reCAPTCHA

    • Get your reCAPTCHA site key from Google reCAPTCHA
    • Update recaptcha_site_key in app/src/main/res/values/strings.xml
  5. Build and Run

    chmod +x gradlew
    ./gradlew assembleDebug

Configuration Details

Firebase Setup

  1. Go to Firebase Console
  2. Create a new project or use existing one
  3. Add an Android app with package name: com.proteam.aiskincareadvisor
  4. Download and add google-services.json to app/ folder
  5. Enable Authentication with Email/Password and Google Sign-In
  6. Create Firestore Database in test mode

Azure AI Setup

  1. Create an Azure AI service account
  2. Get your API token and endpoint
  3. Add them to local.properties file

Google Generative AI Setup

  1. Get API key from Google AI Studio
  2. Add it as apiAIToken in local.properties

πŸ“¦ Project Structure

app/
β”œβ”€β”€ src/main/java/com/proteam/aiskincareadvisor/
β”‚   β”œβ”€β”€ data/
β”‚   β”‚   β”œβ”€β”€ api/           # AI client configurations
β”‚   β”‚   β”œβ”€β”€ auth/          # Firebase authentication
β”‚   β”‚   β”œβ”€β”€ firestore/     # Database operations
β”‚   β”‚   β”œβ”€β”€ model/         # Data models
β”‚   β”‚   β”œβ”€β”€ repository/    # Data repositories
β”‚   β”‚   └── viewmodel/     # ViewModels
β”‚   β”œβ”€β”€ ui/
β”‚   β”‚   β”œβ”€β”€ components/    # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ screens/       # Application screens
β”‚   β”‚   └── theme/         # App theming
β”‚   └── MainActivity.kt    # Main activity
└── src/main/res/          # Resources (layouts, strings, etc.)

πŸ”§ Key Components

Data Models

  • SkinAnalysisResult: Stores comprehensive skin analysis data
  • Product: Represents skincare products with recommendations
  • RoutineStep: Individual steps in skincare routines

Main Screens

  • HomeScreen: Dashboard with analysis results and product recommendations
  • AnalysisScreen: Camera integration and skin analysis
  • ChatScreen: AI chat assistant
  • RoutineScreen: Skincare routine management
  • ProfileScreen: User profile and settings

AI Integration

  • AIClient: Handles Azure AI and Google Generative AI connections
  • SkinAnalysisRepository: Manages skin analysis operations
  • ChatRepository: Manages AI chat functionality

πŸ§ͺ Testing

Run tests using:

./gradlew test                # Unit tests
./gradlew connectedAndroidTest # Integration tests

πŸ“„ API Documentation

Skin Analysis API

The app integrates with Azure AI and Google's Generative AI to provide:

  • Image-based skin analysis
  • Skin type detection
  • Hydration and oil level assessment
  • Personalized recommendations

Firebase Integration

  • Authentication: Email/password and Google Sign-In
  • Firestore: Real-time database for user data and analysis history
  • Crashlytics: Automatic crash reporting

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

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

πŸ“ž Support

For support and questions:

πŸ™ Acknowledgments

  • Google Firebase for backend services
  • Azure AI for advanced skin analysis capabilities
  • Google Generative AI for chat functionality
  • Jetpack Compose team for the modern UI toolkit
  • Material Design team for design guidelines

Note: This app requires proper API keys and Firebase configuration to function correctly. Make sure to follow the setup instructions carefully.

About

No description or website provided.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 3

  •  
  •  
  •  

Languages