@@ -5,7 +5,8 @@ A Skincare product analysis app, designed to help users identify product suitabi
55## Features
66
77- 🔐 ** Google Authentication** : Secure sign-in with your Google account
8- - 🤖 ** AI-Powered Analysis** : Get intelligent product assessments using Google Gemini
8+ - 🤖 ** AI-Powered Analysis** : Get intelligent product assessments using Firebase AI (Gemini Flash)
9+ - 🧴 ** Routine Companion** : Check if your skincare products work well together
910- 📸 ** Image Upload** : Analyze products by uploading images
1011- 📝 ** Product Management** : Save and manage your product collection
1112- 📊 ** Product Comparison** : Compare multiple products side-by-side
@@ -19,7 +20,8 @@ A Skincare product analysis app, designed to help users identify product suitabi
1920- ** Language** : TypeScript
2021- ** Styling** : Tailwind CSS
2122- ** UI Components** : shadcn-svelte
22- - ** AI** : Google Gemini
23+ - ** AI** : Firebase AI (Gemini Flash)
24+ - ** Cross-Platform** : Tauri 2.0 (Desktop: Windows, macOS, Linux; Mobile: Android, iOS)
2325- ** Authentication** : Firebase Authentication
2426- ** Database** : Cloud Firestore
2527- ** Bundler** : Vite
@@ -30,6 +32,9 @@ A Skincare product analysis app, designed to help users identify product suitabi
3032
3133- Node.js 18+ or Bun
3234- A Firebase project (see [ Firebase Setup Guide] ( ./FIREBASE_SETUP.md ) )
35+ - For desktop development: Rust toolchain (rustup)
36+ - For Android development: Android SDK, Java JDK
37+ - For iOS development: Xcode (macOS only)
3338
3439### Installation
3540
@@ -62,7 +67,21 @@ A Skincare product analysis app, designed to help users identify product suitabi
6267
63685 . Open [ http://localhost:5173 ] ( http://localhost:5173 ) in your browser
6469
65- ## Building for Production
70+ ## Running with Tauri
71+
72+ ``` bash
73+ # Desktop development
74+ npm run tauri:dev
75+ # or
76+ bun run tauri:dev
77+
78+ # Build for desktop
79+ npm run tauri:build
80+ # or
81+ bun run tauri:build
82+ ```
83+
84+ ## Building for Production (Web)
6685
6786``` bash
6887npm run build
@@ -77,37 +96,44 @@ This will create a static build in the `build` directory.
7796```
7897src/
7998├── lib/
80- │ ├── ai/ # AI integration (Gemini )
99+ │ ├── ai/ # AI integration (Firebase AI )
81100│ ├── components/ # Reusable components
82101│ │ ├── custom/ # Custom app components
83102│ │ └── ui/ # shadcn-svelte components
84103│ ├── db/ # Database modules (Firestore)
104+ │ ├── platform.ts # Platform detection utilities (Tauri/Web)
85105│ ├── stores/ # Svelte stores
86106│ └── types/ # TypeScript type definitions
87107├── routes/ # SvelteKit routes/pages
88108└── app.css # Global styles
109+ src-tauri/ # Tauri 2.0 configuration and Rust code
89110```
90111
91112## Environment Variables
92113
93114Create a ` .env ` file with the following variables:
94115
95116``` env
96- PUBLIC_FIREBASE_API_KEY=your-api-key
97- PUBLIC_FIREBASE_AUTH_DOMAIN=your-project.firebaseapp.com
98- PUBLIC_FIREBASE_PROJECT_ID=your-project-id
99- PUBLIC_FIREBASE_STORAGE_BUCKET=your-project.appspot.com
100- PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your-sender-id
101- PUBLIC_FIREBASE_APP_ID=your-app-id
117+ PUBLIC_FIREBASE_API_KEY=
118+ PUBLIC_FIREBASE_AUTH_DOMAIN=
119+ PUBLIC_FIREBASE_PROJECT_ID=
120+ PUBLIC_FIREBASE_STORAGE_BUCKET=
121+ PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
122+ PUBLIC_FIREBASE_APP_ID=
123+ PUBLIC_GOOGLE_CLIENT_ID=
102124PUBLIC_MAX_MULTI_COUNT=5
125+
126+ # Android Signing (for release APK builds)
127+ # Run: source .env && bun run tauri android build --apk --release
128+ ANDROID_KEYSTORE_PASSWORD=
129+ ANDROID_KEY_PASSWORD=
130+ # Optional (defaults shown):
131+ # ANDROID_KEYSTORE_PATH=src-tauri/skeen-release.keystore
132+ # ANDROID_KEY_ALIAS=skeen
103133```
104134
105135See [ Firebase Setup Guide] ( ./FIREBASE_SETUP.md ) for detailed instructions.
106136
107137## Contributing
108138
109139Contributions are welcome! Please feel free to submit a Pull Request.
110-
111- ## License
112-
113- This project is licensed under the MIT License.
0 commit comments