Java • Spring Boot 3 • AWS S3 • Docker • Terraform • GitHub Actions
CloudDrive is a secure, scalable backend for storing, managing, and sharing files — built using industry-grade patterns found in enterprise cloud storage systems.
This project demonstrates real-world backend engineering:
CI/CD automation, Dockerization, AWS S3 workflows, versioning, short URL generation, infra automation, modular architecture, and strong security fundamentals.
- Direct-to-S3 uploads using expiring pre-signed URLs
- Avoids backend bottlenecks → ~32% faster transfers during internal testing
- Extremely low backend resource usage
- Each upload creates a new immutable version
- Supports listing, metadata display, and restores
- Load-tested with 1,000+ versioned objects
- Query latency: 9–13 ms with indexed SQL tables
- Converts long S3 URLs into compact Base62 short links
- 98% reduction in link size
- Perfect for public and private file sharing
- Uses cryptographically safe random token generation
- JWT-based auth flow
- BCrypt-hashed passwords
- Lowercase-normalized email login
- Clear separation of user + file permissions
- On every push to
main:- Build
- Test
- Dockerize
- Push to Docker Hub
- Ensures consistent, reproducible builds
- Zero manual steps for release
Modules included for:
- S3 bucket (private, versioning-ready)
- IAM least-privilege roles
- RDS PostgreSQL (optional module)
- Parameter Store for secrets (planned)
Infra provisioning reduced from 40+ minutes → <2 minutes.
- Optimized Dockerfile
- Local setup via Docker Compose
- Ready for deployment on:
- Render
- Fly.io
- AWS ECS / EKS
Backend: Java 21, Spring Boot 3
Storage: AWS S3 (pre-signed uploads)
Database: PostgreSQL
Auth: JWT, BCrypt
CI/CD: GitHub Actions
Containerization: Docker
Infra: Terraform (S3, IAM, RDS)
Build Tool: Maven