Skip to content

πŸ“± A Flutter app to explore Eurovision contest videos, manage favorites, and build your Top 10 list β€” powered by a public Eurovision API.

License

Notifications You must be signed in to change notification settings

denizguvel/dEurovisionApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

91 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Eurovision App 🎢

Flutter License: MIT Platform: Android/iOS Status: Active

A modern Flutter application to explore, watch, and favorite Eurovision contest videos by year and artist.


πŸŽ₯ Demo

Demo

---"

πŸ“Έ Screenshots

Home Search Favorites
Home Search Favorites
My Top 10 Reorder List Winner Details
MyTop10 Reorder Winner
Detail View About
Detail About

πŸ‘› Project Structure

lib/
β”œβ”€β”€ app/                            # App-specific layers and modules
β”‚   β”œβ”€β”€ common/                     # Common utilities and shared components
β”‚   β”‚   β”œβ”€β”€ constants/              # App-wide constants (colors, strings, etc.)
β”‚   β”‚   β”œβ”€β”€ functions/              # Reusable helper functions
β”‚   β”‚   β”œβ”€β”€ service_locator/        # Dependency injection setup (e.g., get_it)
β”‚   β”‚   └── widgets/                # Shared custom widgets across the app
β”‚   β”œβ”€β”€ features/                   # Feature-based architecture
β”‚   β”‚   β”œβ”€β”€ data/                   # Data layer (models, datasources, API access)
β”‚   β”‚   β”‚   β”œβ”€β”€ datasources/        # Remote/local data fetching logic
β”‚   β”‚   β”‚   β”œβ”€β”€ domain/             # Entities and use cases (if used)
β”‚   β”‚   β”‚   β”œβ”€β”€ models/             # Data models for API parsing
β”‚   β”‚   β”œβ”€β”€ presentation/           # UI layer (views, providers, widgets)
β”‚   β”‚   β”‚   β”œβ”€β”€ about/              # "About" screen of the app
β”‚   β”‚   β”‚   β”œβ”€β”€ feature/            # Feature-specific settings (themes, language)
β”‚   β”‚   β”‚   β”œβ”€β”€ home/               # Home screen
β”‚   β”‚   β”‚   β”œβ”€β”€ home_detail/        # Detailed view for selected home item
β”‚   β”‚   β”‚   β”œβ”€β”€ mytopten/           # "My Top 10" list and customization
β”‚   β”‚   β”‚   β”œβ”€β”€ search_video/       # Video search and year filter features
β”‚   β”‚   β”‚   β”œβ”€β”€ splash/             # App splash screen
β”‚   └── utils/                      # Utility classes (e.g., year calculator)
β”œβ”€β”€ core/                           # Core layer (cross-cutting concerns)
β”‚   β”œβ”€β”€ config/                     # App configurations (e.g., environment setup)
β”‚   β”œβ”€β”€ constants/                  # Global constants
β”‚   β”œβ”€β”€ dio_manager/                # Dio API setup and management
β”‚   β”œβ”€β”€ extensions/                 # Dart/Flutter extension methods
β”‚   β”œβ”€β”€ helpers/                    # Helper logic and abstract classes
β”‚   β”œβ”€β”€ keys/                       # Global keys (e.g., navigatorKey)
β”‚   β”œβ”€β”€ logger/                     # Logging utilities
β”‚   β”œβ”€β”€ network_control/            # Network state management
β”‚   β”œβ”€β”€ providers/                  # Base provider classes and logic
β”‚   β”œβ”€β”€ result/                     # Result pattern (success, error handling)
β”‚   β”œβ”€β”€ routes/                     # Navigation routes and page transitions
β”‚   └── widgets/                    # Core-level reusable widgets
β”œβ”€β”€ main.dart                       # Application entry point

✨ Features

  • Browse Eurovision contest videos by year
  • Search artists by name
  • Save and manage favorite videos
  • Create and reorder your own "Top 10" list
  • Watch videos through an embedded YouTube player
  • Light and dark theme support
  • State management with Provider
  • API integration using Dio
  • Local storage with Hive

πŸ› οΈ Installation

  1. Clone the repository:
git clone https://github.com/denizguvel/eurovision-app.git
  1. Navigate into the project directory:
cd eurovision-app
  1. Install dependencies:
flutter pub get
  1. Run the app:
flutter run

πŸ’ͺ Technologies Used

  • Flutter 3.29.0
  • Dart
  • Provider (State Management)
  • Dio (Networking)
  • Hive (Local Storage)
  • Youtube Player Flutter (Video Playback)
  • Clean Architecture Principles

πŸ”— API Documentation

This application uses the public Eurovision API to fetch contest data.


🀝 Contributing

Contributions, issues, and feature requests are welcome! Feel free to open an issue or submit a pull request. πŸš€


πŸ“œ License

This project is licensed under the MIT License.

You are free to use, modify, and distribute this project as long as proper credit is given. See the LICENSE file for more details.


πŸ‘‹ Thank You!

Enjoy exploring the world of Eurovision through this app! 🌟

About

πŸ“± A Flutter app to explore Eurovision contest videos, manage favorites, and build your Top 10 list β€” powered by a public Eurovision API.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published