Empowering Skincare Through Intelligent Analysis
Skintellect is an AI-driven skincare analysis platform that leverages advanced image processing and machine learning techniques to provide personalized skincare recommendations. It seamlessly integrates a user-friendly interface with robust backend services, making advanced dermatological analysis accessible to everyone.
git clone https://github.com/yourusername/Skintellect.git
cd Skintellect
python -m venv venv
source venv/bin/activate # (On Windows: venv\Scripts\activate)
pip install -r requirements.txt
Create a .env
file with the following:
DATABASE_URL
(e.g., postgresql://user:pass@localhost:5432/skintellect
)SECRET_KEY
(secure, random string)MODEL_PATH
(custom path for ML model if needed)ENV
(set to development
for testing)Run migrations (using Alembic or provided scripts):
alembic upgrade head
Optionally, seed the database:
python scripts/seed_data.py
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
Access the interactive API docs at http://localhost:8000/docs
.
cd mobile_app
flutter pub get
api_config.dart
).flutter run
/auth/register
and /auth/login
).POST /analysis
to receive analysis results./recommendations
./appointments
endpoint.The RESTful API is defined using OpenAPI 3.0 specifications. Key endpoints include:
Creates a new user account with JSON data (name
, email
, password
).
Authenticates users and returns a JWT token.
Uploads a skin image (multipart/form-data
) and returns analysis results with detected conditions and metrics.
Returns personalized skincare product suggestions, optionally filtered by analysis_id
.
Books an appointment using JSON data (e.g., date
, specialist ID
).
Retrieves a list of user appointments.
Fetches the current user's profile details.
Updates user profile information.
A high-level overview of the system architecture:
Stores account details and profile information.
CREATE TABLE users (
user_id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
password_hash VARCHAR(255) NOT NULL,
skin_type VARCHAR(20),
allergies TEXT,
created_at TIMESTAMP NOT NULL DEFAULT NOW()
);
Records skin analysis details linked to users.
CREATE TABLE analyses (
analysis_id SERIAL PRIMARY KEY,
user_id INT NOT NULL REFERENCES users(user_id) ON DELETE CASCADE,
image_url TEXT NOT NULL,
result JSONB NOT NULL,
analyzed_at TIMESTAMP NOT NULL DEFAULT NOW()
);
Contains information about skincare products.
CREATE TABLE products (
product_id SERIAL PRIMARY KEY,
name VARCHAR(200) NOT NULL,
brand VARCHAR(100),
category VARCHAR(50),
description TEXT,
ingredients TEXT,
image_url TEXT,
created_at TIMESTAMP NOT NULL DEFAULT NOW()
);
Maps analyses to recommended products.
CREATE TABLE recommendations (
analysis_id INT NOT NULL REFERENCES analyses(analysis_id) ON DELETE CASCADE,
product_id INT NOT NULL REFERENCES products(product_id),
PRIMARY KEY (analysis_id, product_id)
);
Manages bookings between users and specialists.
CREATE TABLE appointments (
appointment_id SERIAL PRIMARY KEY,
user_id INT NOT NULL REFERENCES users(user_id) ON DELETE CASCADE,
specialist_id INT NOT NULL,
scheduled_at TIMESTAMP NOT NULL,
status VARCHAR(20) NOT NULL DEFAULT 'Scheduled'
);
Refer to the full ERD diagram for a complete view of relationships.
docker build -t skintellect-backend:latest .
docker tag skintellect-backend:latest myregistry.com/skintellect:1.0.0
docker push myregistry.com/skintellect:1.0.0
Utilize Terraform or CloudFormation for server and network provisioning.
Execute migration scripts (e.g., Alembic) to initialize the schema.
Set up automated pipelines with GitHub Actions to build, test, and deploy updates seamlessly.
It analyzes common issues like acne, hyperpigmentation, wrinkles, and general skin health metrics such as oiliness or dryness.
The models achieve approximately 90% accuracy on high-quality images.
Yes, all communications are secured via HTTPS and sensitive data is encrypted.
Use the integrated appointment booking feature or the /appointments
API endpoint.
Skintellect distinguishes itself with a holistic and integrated approach:
Unlike platforms that focus solely on image analysis or cosmetic suggestions, Skintellect delivers a complete end-to-end skincare solution.
Skintellect represents a transformative approach to personalized skincare. Leveraging advanced AI and a robust technology stack, it provides actionable insights and seamless integration with professional dermatology services. This documentation offers a detailed roadmap—from installation and API usage to deployment and security—ensuring a clear understanding for developers, investors, and users alike.
For additional details, refer to the full repository documentation or contact our team directly.