BullyButton is an app that promotes anti-bullying awareness and prevention. I built this project with a Dart frontend, Firebase backend, featuring anonymous reporting, positive messages feed, and comprehensive support resources.
- 🏠 Welcome Screen - Warm, encouraging intro with glassmorphism hero card
- 📝 Anonymous Reporting - Safe, anonymous bullying report submission
- 💝 Positive Messages Feed - Uplifting quotes and messages from the community
- 🛟 Support Resources - Comprehensive guides and crisis contacts
- 🎨 Glassmorphism UI - Modern, polished design with frosted glass effects
- ✨ Smooth Animations - Beautiful transitions and micro-interactions
- 🔐 Firebase Integration - Secure backend with anonymous authentication
The app features a beautiful glassmorphism design with:
- Soft gradients (lavender, peach, sky blue, mint)
- Frosted blur background cards
- Translucent surfaces with glow shadows
- Modern rounded corners
- High contrast text for accessibility
- Flutter SDK (3.9.2 or higher)
- Dart SDK (3.9.2 or higher)
- Firebase account
- iOS: Xcode (for iOS development)
- Android: Android Studio (for Android development)
git clone <repo-url>
cd BullyButtonV2flutter pub getFollow the detailed instructions in firebase_setup.md to:
- Create a Firebase project
- Add iOS and Android apps
- Configure FlutterFire CLI
- Enable Anonymous Authentication
- Enable Firestore Database
- Deploy security rules
Quick Setup:
# Install FlutterFire CLI
dart pub global activate flutterfire_cli
# Configure Firebase
flutterfire configure# For iOS/Mac
flutter run -d ios
#For Chrome
flutter run -d chrome
# For Android
flutter run -d androidlib/
├── main.dart # App entry point
├── screens/ # Screen widgets
│ ├── home_screen.dart
│ ├── report_screen.dart
│ ├── positive_messages_screen.dart
│ └── support_resources_screen.dart
├── widgets/ # Reusable widgets
│ ├── glass_button.dart
│ ├── glass_card.dart
│ ├── expandable_resource_tile.dart
│ └── confetti_success.dart
├── services/ # Business logic
│ └── firebase_service.dart
├── models/ # Data models
│ ├── bullying_report.dart
│ ├── positive_message.dart
│ └── support_resource.dart
├── theme/ # Design system
│ ├── app_colors.dart
│ ├── app_text_styles.dart
│ └── app_shadows.dart
└── utils/ # Utilities
└── glass_effect.dart
After running flutterfire configure, the app will automatically use the generated firebase_options.dart file. Make sure to:
- Enable Anonymous Authentication in Firebase Console
- Enable Firestore Database
- Deploy the security rules from
firestore.rules
The app includes Firestore security rules that:
- Allow anonymous users to create reports
- Allow authenticated users to read/write messages
- Protect user data with proper validation
Deploy rules:
firebase deploy --only firestore:rulesSee sample_data.md for sample positive messages to add to your Firestore database.
- Users can submit bullying reports without revealing their identity
- Reports are stored securely in Firestore
- Form validation ensures data quality
- Success animation with confetti effect
- Real-time stream of uplifting messages
- Users can like messages
- Ability to submit new positive messages
- Chronologically ordered feed
- Expandable sections with detailed information
- Crisis contact information
- Links to official resources
- Educational content about bullying
- Flutter - UI framework
- Riverpod - State management
- Firebase - Backend (Auth, Firestore)
- Google Fonts - Typography (Poppins, Inter, Nunito)
- Animations - Smooth transitions
- Confetti - Success animations
- ✅ iOS and MacOS
- ✅ Android
- ✅ Web
- Ensure you've run
flutterfire configure - Check that
firebase_options.dartexists - Verify platform-specific config files are in place
flutter clean
flutter pub get
flutter run- Verify Anonymous auth is enabled in Firebase Console
- Check bundle ID / package name matches Firebase project
This project is created for educational and anti-bullying awareness purposes.
Contributions are welcome! Please feel free to submit a Pull Request. I'll be sure to give a review
For issues or questions, please open an issue on GitHub.
Built with care to promote anti-bullying awareness and create a safe, supportive community.
Remember: Speak Up. Stand Strong. Support Each Other. 💙