Our project aims to revolutionize smoking cessation by offering a comprehensive mobile app integrated with hardware to help individuals track their smoking habits, set personalized goals, and receive support on their quit journey. By leveraging real-time data insights, interactive features, and community support, we strive to empower users to break free from smoking addiction and improve their overall health and well-being.
- Flutter SDK installed on your machine. You can find instructions for installation here.
- Android Studio or IntelliJ IDEA with Flutter and Dart plugins installed.
- A physical Android device or an emulator configured for development.
To run the app on your device, follow these steps:
- Clone the repository to your local machine:
git clone https://github.com/behzodfaiziev/nicless-flutter
- Add your Google Maps API key to the AndroidManifest.xml file located at
android/app/src/main/AndroidManifest.xml
. Replace YOUR_API_KEY_HERE with your actual API key.
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="YOUR_API_KEY_HERE"/>
- Add your Gemini API key to
lib/product/utils/constants/app/credentials_const
- note:
class CredentialsConst {
static const geminiApiKey = 'YOUR_API_KEY';
}
- Ensure that the app is running in debug mode to sign in successfully.
flutter run --debug
- Congratulations! You have successfully set up and run Nicless on your device. If you encounter any issues, don't hesitate to create an issue here.
The app follows the Clean Architecture pattern, separating the business logic from the UI layer for improved scalability and testability. It also uses BLoC (Business Logic Component) for state management, providing a robust and predictable way to manage the app's state
- Clean Architecture
- Unit test covered (aiming to follow TDD)
- Use case test: ✅
100%
- Repository test: ✅
100%
- Bloc test: (under development)
0%
- Data source test: (under development)
0%
- Use case test: ✅
- Firebase: Authentication, Firestore, Analytics
- BLoC
- Bluetooth
- Network manager inspired by Vexana
- Google Maps
- Gemini