Skip to content

a cross-platform Flutter application designed to eliminate boredom by suggesting engaging activities tailored to your preferences. Whether you're looking for educational pursuits, recreational fun, or social interactions, Funterest has got you covered!

Notifications You must be signed in to change notification settings

pro-26/funterest

Repository files navigation

🎯 Funterest

Funterest Banner

Beat Boredom with Fun Activities!

Flutter Dart License: MIT Platform API


📖 Overview

Funterest is a cross-platform Flutter application designed to eliminate boredom by suggesting engaging activities tailored to your preferences. Whether you're looking for educational pursuits, recreational fun, or social interactions, Funterest has got you covered!

The app leverages the Bored API to provide a vast collection of activity suggestions across multiple categories, ensuring you'll never run out of ideas for your free time.

✨ Features

Feature Description
🎲 Random Activity Suggestions Get instant, personalized activity ideas to combat boredom
🏷️ Category Selection Choose from 9+ categories: Education, Recreation, Social, DIY, Charity, Cooking, Relaxation, Music, and Busywork
🔔 Daily Reminders Receive smart daily notifications to try new activities
📱 Recent Activity History Keep track of your previously suggested activities
🌐 Cross-Platform Support Available on iOS, Android, Web, and Desktop platforms
💾 Offline Storage Cache activities for offline viewing
🎨 Modern UI/UX Clean, intuitive interface built with Flutter

🎯 Activity Categories

  • 📚 Education - Learn something new
  • 🎮 Recreational - Fun and games
  • 👥 Social - Connect with others
  • 🔨 DIY - Do-it-yourself projects
  • ❤️ Charity - Give back to community
  • 🍳 Cooking - Culinary adventures
  • 🧘 Relaxation - Unwind and destress
  • 🎵 Music - Musical activities
  • 📝 Busywork - Productive tasks

📱 Screenshots

Screenshots will be added soon...

🚀 Getting Started

📋 Prerequisites

Before running this project, make sure you have the following installed:

  • Flutter SDK ^3.9.0 - Install Flutter
  • Dart SDK ^3.9.0 - (Included with Flutter)
  • Android Studio or VS Code with Flutter extensions
  • Git - Install Git

🔧 Installation

  1. Clone the repository

    git clone https://github.com/muhammedshabeerop/funterest.git
    cd funterest
  2. Install dependencies

    flutter pub get
  3. Run the app

    flutter run

    Note: Make sure you have an emulator running or a physical device connected.

🏗️ Building for Production

📱 Android

# Generate APK
flutter build apk --release

# Generate App Bundle (recommended for Play Store)
flutter build appbundle --release

🍎 iOS

flutter build ios --release

🌐 Web

flutter build web --release

💻 Desktop

Windows:

flutter build windows --release

macOS:

flutter build macos --release

Linux:

flutter build linux --release

📦 Dependencies

Core Dependencies

Package Version Purpose
GetX ^4.7.2 State management, routing, and dependency injection
HTTP ^0.13.6 Making API calls to Bored API
Get Storage ^2.1.1 Local data persistence and caching
Flutter Local Notifications ^18.0.1 Daily reminder notifications
Permission Handler ^12.0.1 Handle notification permissions
Timezone ^0.9.4 Timezone support for notifications

Development Dependencies

  • flutter_test - Testing framework
  • flutter_lints - Code analysis and linting

🌐 API Integration

This app integrates with the Bored API to fetch activity suggestions.

API Endpoints Used

  • GET /api/activity/ - Fetch random activity
  • GET /api/activity?type={category} - Fetch activity by category

Example Response

{
  "activity": "Learn Express.js",
  "type": "education",
  "participants": 1,
  "price": 0.1,
  "link": "https://expressjs.com/",
  "key": "3943506",
  "accessibility": 0.1
}

🏗️ Project Structure

lib
├── app
│   ├── data
│   ├── modules
│   │   └── home
│   │       ├── bindings
│   │       │   └── home_binding.dart
│   │       ├── controllers
│   │       │   └── home_controller.dart
│   │       └── views
│   │           └── home_view.dart
│   ├── routes
│   │   ├── app_pages.dart
│   │   └── app_routes.dart
│   └── services
│       └── notification_service.dart
└── main.dart

🧪 Testing

Run tests using:

flutter test

For integration tests:

flutter drive --target=test_driver/app.dart

🤝 Contributing

We welcome contributions from the community! Here's how you can help make Funterest better:

🔄 Contributing Process

  1. Fork the repository

    git fork https://github.com/shabeer-wms/funterest.git
  2. Create a feature branch

    git checkout -b feature/amazing-feature
  3. Make your changes

    • Follow the existing code style
    • Add tests for new features
    • Update documentation as needed
  4. Commit your changes

    git commit -m "✨ Add amazing feature"
  5. Push to your branch

    git push origin feature/amazing-feature
  6. Open a Pull Request

    • Provide a clear description of your changes
    • Reference any related issues
    • Include screenshots for UI changes

📝 Commit Convention

We follow Conventional Commits:

  • ✨ feat: New features
  • 🐛 fix: Bug fixes
  • 📚 docs: Documentation updates
  • 🎨 style: Code style changes
  • ♻️ refactor: Code refactoring
  • ⚡ perf: Performance improvements
  • ✅ test: Adding tests
  • 🔧 chore: Maintenance tasks

🐛 Reporting Issues

Found a bug? Please open an issue with:

  • Clear description of the problem
  • Steps to reproduce
  • Expected vs actual behavior
  • Screenshots (if applicable)
  • Device/OS information

📱 Platform Support

Platform Status Version
🤖 Android ✅ Supported API 21+
🍎 iOS ✅ Supported iOS 12+
🌐 Web ✅ Supported Modern browsers
💻 Windows ✅ Supported Windows 10+
🖥️ macOS ✅ Supported macOS 10.14+
🐧 Linux ✅ Supported Ubuntu 18.04+

🔐 Privacy & Permissions

Funterest respects your privacy and only requests necessary permissions:

Permission Purpose Required
🔔 Notifications Daily activity reminders Optional
🌐 Internet Fetch activities from API Required
💾 Storage Cache activities locally Required

🚀 Roadmap

🎯 Upcoming Features

  • 🎨 Custom themes and dark mode
  • 👥 Social sharing of activities
  • 📊 Activity statistics and insights
  • 🏆 Achievement system
  • 🔄 Activity rating and feedback
  • 📍 Location-based activity suggestions
  • 🎵 Integration with music streaming services
  • 📱 Widget support for quick access

🔄 Version History

  • v1.0.0 - Initial release with core features
  • More versions coming soon...

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License

Copyright (c) 2024 Funterest

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

🙏 Acknowledgments

We extend our heartfelt gratitude to:

  • 🎯 Bored API - For providing the comprehensive activity database
  • 🐦 Flutter Team - For the amazing cross-platform framework
  • 📦 GetX Community - For the powerful state management solution
  • 🎨 Material Design - For the beautiful design guidelines
  • 👥 Open Source Community - For the incredible packages and tools
  • Contributors - Everyone who helps make Funterest better

📞 Support & Contact

⭐ Show Your Support

If you find Funterest helpful, please consider:

  • Starring this repository
  • 🍴 Forking and contributing
  • 📢 Sharing with friends and colleagues
  • 🐛 Reporting bugs and suggesting features

Made with ❤️ and ☕ by Pro26

"Turn boredom into adventure, one activity at a time!"

Follow on GitHub Website

About

a cross-platform Flutter application designed to eliminate boredom by suggesting engaging activities tailored to your preferences. Whether you're looking for educational pursuits, recreational fun, or social interactions, Funterest has got you covered!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published