Cloud Storage Client
Cloud Storage Client
A unified Flutter application for managing multiple cloud storage providers from a single interface.
Overview
Cloud Storage Client is a cross-platform Flutter application that provides a unified interface for accessing and managing files across multiple cloud storage services. Currently supports Google Drive and Yandex Disk, with an extensible architecture for adding more providers.
Features
š Multi-Provider Support
- Google Drive integration
- Yandex Disk integration
- Extensible architecture for adding new cloud storage providers
š¼ļø Local Media Management
- Browse local photo albums
- Grid view for images
- Image viewer with file operations
š File Operations
- Create new folders
- Upload files to cloud storage
- Download files from cloud storage
- Rename files and folders
- Delete files and folders
- File sharing capabilities
šØ Modern UI
- Material Design 3 interface
- Dark/Light theme support
- Tab-based navigation
- Responsive design for different screen sizes
āļø Settings & Configuration
- Configure temporary folder location
- Manage access directories
- Ignore directories settings
- Account management
Screenshots
- Main tab layout with Local/Cloud/Settings tabs
- Cloud storage provider selection
- File explorer interface
Getting Started
Prerequisites
- Flutter SDK (latest stable version)
- Android Studio / VS Code
- Android/iOS device or emulator
Installation
- Clone the repository:
git clone https://github.com/SandipLow/cloud_storage_client.git cd cloud_storage_client
- Install dependencies:
flutter pub get
- Set up cloud provider credentials:
- Create
lib/res/secrets.dart
with your API credentials:
- Create
class Secrets { static const String GOOGLE_DRIVE_CLIENTID = "your_google_client_id"; static const String GOOGLE_DRIVE_CLIENTSECRET = "your_google_client_secret"; static const String YANDEX_CLIENTID = "your_yandex_client_id"; static const String YANDEX_CLIENTSECRET = "your_yandex_client_secret"; static const String YANDEX_REDIRECTURI = "your_yandex_redirect_uri"; }
- Run the application:
flutter run
Architecture
Project Structure
lib/
āāā main.dart # App entry point
āāā models/ # Data models
āāā res/ #