Ponta Cloud is a centralized cloud storage management platform that allows you to connect and manage multiple cloud storage services from a single, unified interface. Built on Laravel 12 with modern architecture and high-performance optimizations.
Key Benefits:
- π― Unified Management - Control all your cloud storage accounts from one dashboard
- π Performance Optimized - Smart caching reduces API calls by up to 80%
- π Enterprise Security - Encrypted credentials and comprehensive audit trails
- π± Modern Interface - Responsive design works on any device
Connect and manage multiple cloud storage providers seamlessly:
- Google Drive - Full OAuth2 integration with Google's APIs
- OneDrive - Microsoft Graph API integration for Office 365
- Dropbox - Complete sync and sharing capabilities
- FTP/SFTP - Legacy server connectivity support
- Amazon S3 and Other S3-Compatible Services - Flexible storage options
- WebDAV - Connect to any WebDAV-compatible service
- Telegram - Manage files in Saved Messages
- File Management - Upload, download, delete, and organize files and folders
- Real-time Preview - View supported file types directly in your browser
- Background Processing - Asynchronous file uploads with intelligent queue system
- Smart Caching - Intelligent caching layer reduces API calls and improves performance
- Storage Analytics - Track usage, monitor quotas, and analyze storage patterns
- Multi-tenant - Each user maintains isolated cloud connections
- Laravel Octane - Enhanced performance with Just-In-Time compilation
- Redis Caching - Fast in-memory caching for sessions and data
- Intelligent Caching - CloudCacheService with configurable TTL and automatic invalidation
- Encrypted Storage - All credentials encrypted at rest using Laravel's encryption
- Background Processing - Queue-based uploads with exponential backoff retry logic
- Comprehensive Logging - Detailed audit trails and error tracking
- Rate Limiting - Built-in protection against API abuse
- CSRF Protection - Secure OAuth flows with state validation
Backend:
- Framework: Laravel 12.x with modern PHP 8.4+ features
- Database: MySQL 8.0+ / PostgreSQL 13+ with optimized indexing
- Queue System: Redis-backed queues with supervisor management
- Caching: Redis with intelligent cache layers and TTL management
Frontend:
- Templates: Blade templating with modern responsive design
- Assets: Vite-powered build system for CSS/JS optimization
- UI Framework: Custom components with accessibility support
Infrastructure:
- File Storage: Flysystem abstraction with multiple adapter support
- Background Jobs: Laravel Queue with exponential backoff and retry logic
- Monitoring: Comprehensive logging with rotation and alerting
- Security: Encrypted credentials, CSRF protection, rate limiting
- PHP: 8.3+ with extensions: openssl, pdo, mbstring, tokenizer, xml, ctype, json, bcmath, curl, fileinfo, gd
- Composer: 2.0+ for dependency management
- Node.js: 18+ and npm for asset compilation
- Database: MySQL 8.0+ or PostgreSQL 13+
- Redis: 6.0+ (recommended for production caching and queues)
- Clone the Repository
git clone https://github.com/ngotuananh101/ponta-cloud.git
cd ponta-cloud- Install Dependencies
# Install PHP dependencies
composer install
# Install Node.js dependencies
npm install- Environment Configuration
# Copy environment template
cp .env.example .env
# Generate application key
php artisan key:generate
# Configure your .env file with database and Redis settings- Database Setup
# Run database migrations with seeders
php artisan migrate:fresh --seed- Build Frontend Assets
# For production
npm run build
# For development with hot reload
npm run dev- Start Development Server
# Start Laravel development server
php artisan serve
# In a separate terminal, start queue worker
php artisan queue:workπ That's it! Visit http://localhost:8000 to access your Ponta Cloud installation.
GOOGLE_DRIVE_CLIENT_ID=your_client_id
GOOGLE_DRIVE_CLIENT_SECRET=your_client_secretONEDRIVE_CLIENT_ID=your_client_id
ONEDRIVE_CLIENT_SECRET=your_client_secretDROPBOX_CLIENT_ID=your_client_id
DROPBOX_CLIENT_SECRET=your_client_secretQUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379CACHE_DRIVER=redis
SESSION_DRIVER=redisCloudServices (Abstract)
βββ GoogleDriveService
βββ OneDriveService
βββ DropboxService
βββ FTPService
βββ SFTPService
βββ S3AndCompatibleService
βββ WebDAVService
βββ TelegramService
Supporting Services:
βββ CloudCacheService (Caching layer)
βββ CloudValidationService (Validation logic)
βββ CloudServices (Base functionality)
- Models: Cloud and User entities with optimized relationships
- Jobs: UploadFileToRemoteJob with intelligent retry mechanisms
- Middleware: ValidateCloudAccess for secure resource authorization
- Services: Modular cloud provider integrations and caching layers
- Notifications: Real-time upload status and failure alerts
- Enums: Type-safe storage provider definitions
- Login to your Ponta Cloud account
- Navigate to "Add Cloud" from the dashboard
- Select Provider (Google Drive, OneDrive, Dropbox, or FTP)
- Complete Authentication - follow OAuth flow or enter FTP credentials
- Start Managing your files across all connected storage providers
- π€ Upload: Drag & drop files or use the upload button - supports large files with background processing
- π₯ Download: Click any file to download directly or preview supported formats
- π Preview: View documents, images, and videos directly in your browser
- π Organize: Create folders, move files, and maintain organized directory structures
- ποΈ Navigate: Browse through folder hierarchies with breadcrumb navigation
- π Search: Find files across all connected cloud storage providers
# Run all tests
php artisan test
# Run specific test suite
php artisan test --testsuite=Feature
php artisan test --testsuite=Unit
# Run with coverage
php artisan test --coverage- Set
APP_ENV=production - Configure proper database
- Set up Redis for cache/sessions/queue
- Configure queue workers
- Set up file storage (S3, etc.)
- Configure proper logging
- Set up SSL certificates
- Configure rate limiting
# Start queue workers
php artisan queue:work --sleep=3 --tries=3 --max-time=3600
# Or use Supervisor for production- Health Checks:
/healthendpoint provides real-time system status - Queue Monitoring: Track background job processing and failure rates
- Performance Metrics: Monitor API response times and cache hit ratios
- Storage Analytics: Detailed usage statistics across all connected providers
- Application Logs: Comprehensive logging in
storage/logs/laravel.log - Queue Logs: Monitor job processing via
php artisan queue:monitor - Cache Metrics: Track cache performance and invalidation patterns
- Error Tracking: Detailed error reporting with stack traces and context
- Fork the repository to your GitHub account
- Create a feature branch (
git checkout -b feature/amazing-feature) - Write comprehensive tests for your changes
- Follow PSR-12 coding standards and Laravel best practices
- Commit with meaningful messages (
git commit -m 'Add amazing feature') - Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request with detailed description
- β PSR-12 Compliance - Follow PHP coding standards
- β Test Coverage - Write unit and feature tests for new functionality
- β Documentation - Document all public methods and complex logic
- β Type Safety - Use PHP type hints and Laravel's validation
- β Security - Follow OWASP guidelines and Laravel security best practices
Found a bug? Help us improve Ponta Cloud by reporting issues with detailed information:
Required Information:
- π Steps to reproduce the issue
- β Expected behavior vs actual behavior
- π₯οΈ Environment details (OS, PHP version, browser)
- πΈ Screenshots or error logs (if applicable)
- π Additional context that might help
Issue Templates:
- π Bug Report
- π Feature Request
- π Documentation Improvement
This project is open-sourced software licensed under the MIT License. Feel free to use, modify, and distribute according to the license terms.
Ponta Cloud is built with incredible open-source technologies and resources:
- π Laravel Framework - The elegant PHP framework that powers our backend
- π¨ Metronic - Premium admin theme for beautiful UI components
- π§ FontAwesome - Comprehensive icon library
- βοΈ Cloud Providers - Google, Microsoft, Dropbox for their excellent APIs
- π₯ Community - Contributors and users who help improve Ponta Cloud
If Ponta Cloud has been helpful to you, consider supporting the project:
- β Star the repository on GitHub
- π΄ Fork and contribute improvements
- π Report bugs and suggest features
- π’ Share with others who might find it useful
- β Buy me a coffee to fuel development
Made with β€οΈ by @ngotuananh101
Empowering users to manage their cloud storage efficiently