A professional cross-platform raffle application built with Flutter. ORaffle provides a powerful system for organizing drawings, managing participants, and selecting winners with beautiful animations and custom branding.
🌟 Official Versions
Access ORaffle on your favorite platform:
- 🌐 Web: WidgetSuite.github.io/oraffle
- 📱 Android: Google Play Store
- 🪟 Windows: Microsoft Store
- 📱 iOS: App Store
- 🍎 macOS: Mac App Store
ORaffle provides an intuitive interface for managing participants and picking winners with smooth animations and comprehensive tracking.
- Interactive Participant Management: Add, edit, and remove participants with real-time validation and duplicate detection.
- Bulk Import: Paste a list of names (one per line) for rapid participant setup.
- Animated Winner Selection: Exciting visual effects and animations during the drawing process.
- Multiple Winner Support: Select multiple winners with automatic position tracking (1st, 2nd, 3rd place, etc.).
- Custom Branding:
- Logo Integration: Display your company or event logo in the app header.
- Theming: Personalize the UI color scheme via custom hex codes to match your brand identity.
- Winner History: Dedicated screen to view all selected winners with timestamps and rankings.
- Results Sharing: Easily export and share raffle results via clipboard with clean, formatted text.
- Multilingual Support: Available in 13 languages including English, Spanish, French, German, Italian, Portuguese, Catalan, Basque, Galician, Hindi, Chinese, Arabic, and Japanese.
- Cross-Platform: High-performance experience across iOS, Android, Web, Windows, macOS, and Linux.
ORaffle follows Clean Architecture principles, ensuring the codebase is maintainable, testable, and scalable.
- Presentation Layer: UI components built with Material 3, animations, and BLoC state management.
- Domain Layer: Core business logic, drawer models, and repository interfaces.
- Data Layer: Local storage implementations and preference management using SharedPreferences.
-
Clone the repository
git clone https://github.com/WidgetSuite/oraffle.git cd oraffle -
Install dependencies
flutter pub get
-
Run the application
flutter run
- Add Participants: Enter names manually or paste a bulk list in the input area.
- Customize Branding: Go to Settings to upload your logo URL and set your brand's primary color.
- Pick Winners: Return to the raffle screen and click "Start Raffle" to begin the drawing.
- View & Share: Check the "Winners" tab to see the final results and copy them to share on social media or email.
flutter run: Development mode with hot reload.flutter test: Run the test suite.flutter build <platform>: Generate production builds for Android, iOS, Web, etc.
Contributions are welcome! If you find a bug or have a feature request, please open an issue.
- Fork the repo.
- Create your feature branch (
git checkout -b feature/amazing-feature). - Commit your changes (
git commit -m 'Add some amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.
