Skip to content

markhryt/Cloud-Storage-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌩️ Cloud Storage Backend

This project is an implementation of a simplified cloud-based file storage system. It supports secure file uploads and downloads, authentication, and metadata management.


πŸš€ Features

  • πŸ” Authentication – Basic user login and token-based authorization.
  • πŸ“ File Upload/Download – REST endpoints for storing and retrieving files.
  • 🧾 Metadata Tracking – File metadata stored and queryable (e.g., size, type, owner, timestamp).
  • πŸ”„ Fault Tolerance – Redundancy and recovery strategies using replication.
  • πŸ“€ Secure File Sharing – Shareable links or access tokens for shared files.

πŸ› οΈ Tech Stack

  • Java 24
  • Spring Boot (REST APIs, validation, security)
  • JUnit & Mockito for testing
  • MySQL (for metadata storage)
  • Local File System (for simulating storage)
  • JWT for authentication

🧠 Project Goals

This project was built to deepen understanding of:

  • Backend systems architecture
  • Designing scalable and testable APIs
  • Security and file access control

πŸ“¦ API Endpoints

Method Endpoint Description
POST /auth/register Register new user
POST /auth/login Authenticate user
POST /files/upload Upload file
GET /files/download/{id} Download file by ID
GET /files/metadata Query metadata

πŸ§ͺ Tests

Unit and integration tests included for:

  • Authentication flow
  • File upload/download
  • Metadata persistence
  • Fault recovery

About

This project is an implementation of a cloud file storage using Spring Java Backend.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages