How devamaresh/skinsenseai works
SkinSenseAI is a mobile skincare companion backed by a FastAPI service. Users authenticate, complete a skin assessment, analyze products, and then review results; chat and skin memory support ongoing personalized guidance. The graph includes documented product capabilities whose detailed wiring is not shown in the sampled source, but omits uncertain links. In particular, excerpts do not show every screen-to-API call or router-to-storage interaction.
Main entry points: App.js App navigation · api.js API client · main.py FastAPI app · AuthContext.js Auth state
Components 25
Mobile app
- App navigation
SkinSenseAI/App.js - Sign-in screens
SkinSenseAI/src/screens/LoginScreen.js - Skin assessment
SkinSenseAI/src/screens/SkinTypeQuestionsScreen.js - Product analysis
SkinSenseAI/src/screens/ProductAnalysisScreen.js - Analysis results
SkinSenseAI/src/screens/AnalysisResultScreen.js - Chat screens
SkinSenseAI/src/screens/ChatScreen.js - Skin memory screen
SkinSenseAI/src/screens/SkinMemoryScreen.js - API client
SkinSenseAI/src/services/api.js
Identity and profile
- Auth state
SkinSenseAI/src/contexts/AuthContext.js - Route guards
SkinSenseAI/src/components/AuthGuard.js - Google sign-in
SkinSenseAI/src/services/googleAuth.js - Auth routes
fastapi-backend/app/routers/auth.py
Skincare guidance
- Skin routes
fastapi-backend/app/routers/skin.py - Chat routes
fastapi-backend/app/routers/chat.py - Product AI service
fastapi-backend/app/services/gemini.py - Chat AI service
fastapi-backend/app/services/gemini_chat.py
Skin memory
- Memory state
SkinSenseAI/src/contexts/SkinMemoryContext.js - Memory API service
SkinSenseAI/src/services/skinMemoryService.js - Memory routes
fastapi-backend/app/routers/skin_memory.py
Backend foundation
- FastAPI app
fastapi-backend/main.py - Database sessions
fastapi-backend/app/core/database.py - Application database
Other components
- User
- Firebase Auth
- Google Gemini
Connections 30
- User → App navigation: uses
- App navigation → Sign-in screens: routes to
- App navigation → Skin assessment: routes to
- App navigation → Product analysis: routes to
- App navigation → Analysis results: routes to
- App navigation → Chat screens: routes to
- App navigation → Skin memory screen: routes to
- App navigation → Auth state: provides state
- App navigation → Route guards: protects routes
- Sign-in screens → Auth state: authenticates
- Auth state → API client: calls
- Auth state → Google sign-in: signs out
- Google sign-in → Firebase Auth: authenticates with
- Product analysis → API client: requests analysis
- Skin assessment → API client: submits profile
- Chat screens → API client: sends messages
- Skin memory screen → Memory state: reads and edits
- Memory state → Memory API service: requests memory
- Memory API service → API client: uses
- API client → FastAPI app: HTTP requests
- FastAPI app → Auth routes: dispatches
- FastAPI app → Skin routes: dispatches
- FastAPI app → Chat routes: dispatches
- FastAPI app → Memory routes: dispatches
- Auth routes → Database sessions: gets sessions
- Database sessions → Application database: connects
- Skin routes → Product AI service: analyzes products
- Chat routes → Chat AI service: generates replies
- Product AI service → Google Gemini: requests inference
- Chat AI service → Google Gemini: requests inference