🚀 Setup & Installation
-
Clone the repository git clone cd the_wallpaper_company
-
Install dependencies flutter pub get
-
Run the app flutter run
🔥 Firebase Setup
-
Install the FlutterFire CLI dart pub global activate flutterfire_cli
-
Login to Firebase flutterfire login
-
Initialize Firebase flutterfire configure
Select your Firebase project and supported platforms (Android/iOS).
This automatically generates lib/firebase_options.dart.
- Add platform-specific configuration files
google-services.json → android/app/
GoogleService-Info.plist → ios/Runner/
- Enable required Firebase services
Cloud Messaging
Remote Config
📘 Reference: FlutterFire CLI Documentation
⚙️ Remote Config Keys Key Type Description dark_mode_enabled bool Toggles dark mode in the app.
Usage Example:
remoteConfig.getBool('dark_mode_enabled')
🌐 JSON Endpoint
Wallpapers are fetched from the endpoint below:
https://jsonkeeper.com/b/ORGZR
Each wallpaper object includes:
{ "id": "1", "title": "Abstract Sky", "imageUrl": "https://example.com/image.jpg", "category": "Nature" }
✨ Features
✅ Home screen with category carousel ✅ Staggered grid layout (Pinterest-style) ✅ Shimmer loading effect ✅ Fullscreen preview and favorites ✅ Pull-to-refresh and double-tap like animation ✅ Firebase Remote Config for dark mode ✅ Firebase Cloud Messaging notifications ✅ Provider for state management ✅ Persistent image caching ✅ Modern, responsive UI
💡 Suggested Feature Updates (For Open Source Contributors) 🧩 Beginner-Friendly Tasks
Fix small UI bugs or alignment issues.
Clean up redundant code or inconsistent formatting.
🌙 New Features
Dark Mode Toggle: Add a manual dark mode switch.
Search Wallpapers: Implement a search bar by title or category.
Share Wallpaper: Enable sharing via social media or chat apps.
🎨 UI/UX Enhancements
Onboarding Screens: Introduce an onboarding experience for new users.
Animations: Add smooth transitions and micro-interactions.
🌍 Localization
Add multi-language support (e.g., Hindi, Spanish).
🧪 Testing
Write unit tests for existing logic.
Add integration tests to ensure platform consistency.
📚 Documentation
Improve the README with contributor guidelines.
Add inline comments for complex sections of the codebase.
🐞 Open Issues
Create GitHub issues for the above enhancements with labels like: good first issue, help wanted, enhancement.
🪪 License
This project is licensed under the MIT License.