InnoFours
- Ariq Heritsa Maalik (Hipster)
- Adrian Putra Pratama Badjideh (Hacker)
- Izzulhaq Mahardika (Hacker)
- Nadya Khairani (Hustler)
This application combines artificial intelligence technology with dermatological knowledge to provide personalized skincare product solutions based on the individual needs of each user's skin.
- Golang: A general-purpose programming language used to develop the backend of the Skinsavvy app.
- onnx: A runtime for serving machine learning models. It allows the Skinsavvy app to serve its machine learning model for detecting skin problems.
- YOLO: A convolutional neural network (CNN) model training framework used to train the machine learning model for detecting skin problems.
- Fiber: A backend framework used for the server side of the Skinsavvy app.
- Firebase: A NoSQL database used to store data for the Skinsavvy app.
- Google Cloud Platform (Cloud Storage): A cloud storage service used to store images of skincare products and human faces for the Skinsavvy app.
- Google OAUTH: An authentication service used by the Skinsavvy app to allow users to sign in using their Google accounts.
- Gemini: A Google MultiModal LLM used to generate skincare product recommendations and skincare routines for the Skinsavvy app.
- Github: A version control system used to store the source code for the Skinsavvy app.
- Postman: An API documentation and testing tool used to document and test the API endpoints of the Skinsavvy app.
- Flutter: A Google UI software development toolkit that support cross-platform build.
Download or clone this repo by using the link below:
https://github.com/dikaizm/SkinSavvy.git
-
Install Go
-
Install onnxruntime
ONNX Runtime is a machine-learning model accelerator to inference model locally. Go to official onnxruntime to install and create your own onnxruntime lib.
-
Go to backend directory
cd backend
-
Add Value To ".env.example" File >> Change ".env.example" To ".env" You Must Add Value onto:
- Host
- Port
- Firebase Project ID
- Gemini API Key
- Firebase Service Account Key (must be a json file and the path is on root directory)
- Google Oauth Credentials (Client ID, Client Secret, Redirect Urls)
-
Run The Application With Your Terminal
go run main.go
Users can get recommendation about skincare that suitable for their skin problem.
- Golang - Backend Language
- onnx - Runtime for model serving
- Fiber - Backend Framework
- Firebase - firestore as database
- Google OAUTH - Authentication using google account
- Google Cloud Platform (Cloud Storage) - blob storage
- Gemini - Google MultiModal LLM
- Github - Version Control
- Postman - API Documentation
This flutter sourcecode consists of 3 main folder:
core
,presentation
,services
.
This folder contains the core of the application. It holds the most basic and important part of the application like theming or helpers.
This folder is the face of the application. It holds the UI layer of the application. Presentation folder is responsible for handling the UI flow of the application and contains the views and its UI components.
This folder contains business logic, API calls, data handling, and other functionalities that are not directly related to UI or core application logic.
- Install Flutter
Install Flutter and its prerequisites. Go to official Flutter docs.
- Go to frontend directory
cd frontend
-
Add Value To ".env.example" File >> Change ".env.example" To ".env" You Must Add Value onto:
- Server Address
- Google Oauth Credentials (Client ID, Client Secret)
-
Execute the following command in console to get the required dependencies:
flutter pub get
- Run using your IDE