Skip to content

Commit cd44e79

Browse files
committed
Added logo and fonts
1 parent dc0b112 commit cd44e79

2 files changed

Lines changed: 206 additions & 44 deletions

File tree

README.md

Lines changed: 167 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,174 @@
1-
# breathe_free
1+
# BreatheFree V2
22

3-
A new Flutter project.
3+
A smart smoking cessation companion app built with Flutter, designed to help users quit smoking through evidence-based interventions, progress tracking, and community support.
4+
5+
## Features
6+
7+
### 🆘 Panic Button
8+
9+
The centerpiece of the app — a pulsating emergency button that instantly launches a random intervention when cravings strike. Provides immediate distraction and support exactly when needed.
10+
11+
### 🧘 10 Evidence-Based Interventions
12+
13+
1. **Box Breathing** — Haptic-guided 4-4-4-4 breathing rhythm to calm the nervous system
14+
2. **5-4-3-2-1 Grounding** — Interactive sensory awareness exercise (5 things you see, 4 you hear, etc.)
15+
3. **Guided Visualization** — 2-minute audio-visual journey to build a mental "safe space"
16+
4. **Positive Reframing** — CBT-based affirmation card deck for cognitive restructuring
17+
5. **Whack-a-Crave** — Fast-paced tap game to redirect motor energy
18+
6. **Quick Sketch** — 60-second doodling canvas to occupy hands
19+
7. **Memory Match** — Nature-themed 4x4 card flip game for cognitive distraction
20+
8. **Water Prompt** — Interactive hydration reminder with physical substitution benefits
21+
9. **Craving Surfing** — Mindfulness-based urge observation technique
22+
10. **Progress Reflection** — Review achievements and milestones for motivation
23+
24+
### 📊 Progress Dashboard
25+
26+
- **Smoke-Free Timer** — Real-time counter showing days, hours, and minutes since quitting
27+
- **Money Saved** — Track savings in ₹ (rupees) based on cigarettes not smoked
28+
- **Cigarettes Avoided** — Running count of cigarettes you didn't smoke
29+
- **Health Milestones** — Visual timeline of body recovery (20 min, 8 hrs, 24 hrs, etc.)
30+
31+
### 📈 Statistics & Analytics
32+
33+
- Daily, weekly, and monthly craving patterns
34+
- Intervention effectiveness tracking
35+
- Success rate visualization
36+
- Streak tracking and personal records
37+
38+
### ⚙️ Personalization
39+
40+
#### Intervention Preferences
41+
42+
- Select your preferred interventions (minimum 3)
43+
- Panic button only launches from your selected set
44+
- Easily update preferences in Settings
45+
46+
#### User Settings
47+
48+
- Haptic feedback toggle
49+
- Notification preferences
50+
- Currency display (₹)
51+
- Profile customization
52+
53+
### 🔔 Smart Notifications
54+
55+
- Motivational reminders
56+
- Milestone celebrations
57+
- Craving pattern-based alerts
58+
- Customizable notification schedule
59+
60+
### 📱 Android Home Screen Widget
61+
62+
- **1x1 Panic Widget** — Quick access to interventions right from your home screen
63+
- Transparent adaptive background
64+
- Launches random intervention on tap
65+
- Native Android widget with Material You support
66+
67+
### 🔐 Authentication
68+
69+
- Google Sign-In integration
70+
- Firebase Authentication
71+
- Secure cloud sync of progress data
72+
73+
### 💾 Data & Sync
74+
75+
- Cloud backup via Firebase Firestore
76+
- Real-time sync across devices
77+
- Offline support with local caching
78+
79+
### 🎨 Design
80+
81+
- Material Design 3
82+
- Custom green wellness theme
83+
- Montserrat typography
84+
- Smooth animations throughout
85+
- Dark mode support (coming soon)
86+
87+
## Tech Stack
88+
89+
- **Framework:** Flutter 3.2+
90+
- **State Management:** Riverpod
91+
- **Backend:** Firebase (Auth, Firestore, Analytics, Messaging)
92+
- **Authentication:** Google Sign-In
93+
- **Local Storage:** Shared Preferences
94+
- **Audio:** audioplayers
95+
- **Haptics:** haptic_feedback
96+
- **Charts:** fl_chart
97+
- **Animations:** flutter_animate, Lottie
498

599
## Getting Started
6100

7-
This project is a starting point for a Flutter application.
101+
### Prerequisites
102+
103+
- Flutter SDK >= 3.2.0
104+
- Dart SDK >= 3.2.0
105+
- Android Studio / VS Code
106+
- Firebase project configured
107+
108+
### Installation
109+
110+
1. Clone the repository
111+
112+
```bash
113+
git clone https://github.com/yourusername/breathe-free.git
114+
cd breathe-free/companion
115+
```
116+
117+
2. Install dependencies
118+
119+
```bash
120+
flutter pub get
121+
```
122+
123+
3. Configure Firebase
124+
- Add your `google-services.json` to `android/app/`
125+
- Add your `GoogleService-Info.plist` to `ios/Runner/`
126+
127+
4. Run the app
128+
129+
```bash
130+
flutter run
131+
```
132+
133+
## Project Structure
134+
135+
```
136+
lib/
137+
├── main.dart # App entry point
138+
├── models/ # Data models
139+
│ ├── user_model.dart
140+
│ └── intervention_model.dart
141+
├── providers/ # Riverpod providers
142+
│ ├── user_provider.dart
143+
│ └── intervention_provider.dart
144+
├── screens/ # UI screens
145+
│ ├── splash_screen.dart
146+
│ ├── home/
147+
│ ├── onboarding/
148+
│ ├── interventions/ # 10 intervention screens
149+
│ └── settings/
150+
├── services/ # Business logic
151+
│ └── haptic_service.dart
152+
├── theme/ # App theming
153+
│ └── app_theme.dart
154+
└── widgets/ # Reusable components
155+
└── panic_button.dart
156+
```
157+
158+
## Contributing
159+
160+
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
161+
162+
## License
163+
164+
This project is licensed under the MIT License - see the LICENSE file for details.
165+
166+
## Acknowledgments
8167

9-
A few resources to get you started if this is your first Flutter project:
168+
- Evidence-based intervention techniques from cognitive behavioral therapy (CBT)
169+
- Mindfulness-based stress reduction (MBSR) principles
170+
- WHO guidelines for smoking cessation
10171

11-
- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
12-
- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
172+
---
13173

14-
For help getting started with Flutter development, view the
15-
[online documentation](https://docs.flutter.dev/), which offers tutorials,
16-
samples, guidance on mobile development, and a full API reference.
174+
**BreatheFree**_Every breath is a victory_ 🌿

lib/screens/interventions/quick_sketch_screen.dart

Lines changed: 39 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -140,42 +140,46 @@ class _QuickSketchScreenState extends ConsumerState<QuickSketchScreen> {
140140
}
141141

142142
Widget _buildStart() {
143-
return Container(
144-
color: AppColors.background,
145-
padding: const EdgeInsets.all(32),
146-
child: Column(
147-
mainAxisAlignment: MainAxisAlignment.center,
148-
children: [
149-
const Text('🎨', style: TextStyle(fontSize: 64)),
150-
const SizedBox(height: 24),
151-
const Text(
152-
'Quick Sketch',
153-
style: TextStyle(
154-
fontSize: 28,
155-
fontWeight: FontWeight.w700,
156-
fontFamily: 'Montserrat',
157-
color: AppColors.textPrimary,
158-
),
159-
),
160-
const SizedBox(height: 16),
161-
const Text(
162-
'You have 60 seconds to doodle freely.\n\n'
163-
'Draw anything — shapes, patterns, words.\n'
164-
'The goal is to occupy your hands.',
165-
textAlign: TextAlign.center,
166-
style: TextStyle(
167-
fontSize: 15,
168-
fontFamily: 'Montserrat',
169-
color: AppColors.textSecondary,
170-
height: 1.6,
171-
),
172-
),
173-
const SizedBox(height: 40),
174-
ElevatedButton(
175-
onPressed: _startDrawing,
176-
child: const Text('Start Drawing'),
143+
return SafeArea(
144+
child: Container(
145+
color: AppColors.background,
146+
padding: const EdgeInsets.all(32),
147+
child: Center(
148+
child: Column(
149+
mainAxisAlignment: MainAxisAlignment.center,
150+
children: [
151+
const Text('🎨', style: TextStyle(fontSize: 64)),
152+
const SizedBox(height: 24),
153+
const Text(
154+
'Quick Sketch',
155+
style: TextStyle(
156+
fontSize: 28,
157+
fontWeight: FontWeight.w700,
158+
fontFamily: 'Montserrat',
159+
color: AppColors.textPrimary,
160+
),
161+
),
162+
const SizedBox(height: 16),
163+
const Text(
164+
'You have 60 seconds to doodle freely.\n\n'
165+
'Draw anything — shapes, patterns, words.\n'
166+
'The goal is to occupy your hands.',
167+
textAlign: TextAlign.center,
168+
style: TextStyle(
169+
fontSize: 15,
170+
fontFamily: 'Montserrat',
171+
color: AppColors.textSecondary,
172+
height: 1.6,
173+
),
174+
),
175+
const SizedBox(height: 40),
176+
ElevatedButton(
177+
onPressed: _startDrawing,
178+
child: const Text('Start Drawing'),
179+
),
180+
],
177181
),
178-
],
182+
),
179183
),
180184
);
181185
}

0 commit comments

Comments
 (0)