Skip to content

ayussh203/CloudDrive

Repository files navigation

🚀 CloudDrive – Production-Grade File Storage & Sharing Platform

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.


✨ Key Features

📁 1. File Upload & Download (AWS S3 + Pre-Signed URLs)

  • Direct-to-S3 uploads using expiring pre-signed URLs
  • Avoids backend bottlenecks → ~32% faster transfers during internal testing
  • Extremely low backend resource usage

🔄 2. Full File Versioning

  • 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

🔗 3. Built-In URL Shortener

  • 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

🔐 4. Authentication & Secure Access

  • JWT-based auth flow
  • BCrypt-hashed passwords
  • Lowercase-normalized email login
  • Clear separation of user + file permissions

🐳 5. Full CI/CD Pipeline (GitHub Actions → Docker Hub)

  • On every push to main:
    • Build
    • Test
    • Dockerize
    • Push to Docker Hub
  • Ensures consistent, reproducible builds
  • Zero manual steps for release

🏗️ 6. Infrastructure-as-Code (Terraform)

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.


🧪 7. Deployment & Local Dev Ready

  • Optimized Dockerfile
  • Local setup via Docker Compose
  • Ready for deployment on:
    • Render
    • Fly.io
    • AWS ECS / EKS

📦 Tech Stack

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


About

CloudDrive is a secure, scalable backend for storing, managing, and sharing files — built using industry-grade patterns found in enterprise cloud storage systems.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors