Skip to content

A robust cloud backup system that serves as a platform for users to backup, manage, and stream their files.

Notifications You must be signed in to change notification settings

audrey-roe/cloud-test

Repository files navigation

Cloud Backup System API - Cloudguardian

A robust cloud backup system that serves as a platform for users to backup, manage, and stream their files.

Features

Simple Mode

  1. User Account Creation

    • Email address
    • Password
    • Full name
  2. File Management

    • Upload files up to 200mb
    • Download uploaded files
    • Create folders to organize files

Hard Mode

  1. Admin User Type

    • Manage the content uploaded by users
    • Mark pictures and videos as unsafe
    • Unsafe files are automatically deleted
  2. Media Streaming

    • Users can stream videos and audio files

Ultra Mode

  1. File Compression (Work in progress)

    • NOTE: Attempted implementation but faced some package issues. Will be resumed post-review.
  2. File History

    • Keep a history of all file versions

Bonus Features

  1. Security

    • Revokable session management
  2. Admin Review System

    • Multiple admin reviews are required before a file is marked for deletion

Tools & Stack

  • NodeJs with TypeScript & Express
  • PostgreSQL for data management
  • Redis for caching
  • Docker for containerization
  • Postman for API documentation
  • S3 for file storage
  • Unit tests for ensuring the functionality

How to Use

  1. Clone this repository.

    git clone https://github.com/audrey-roe/cloud-test.git
  2. Install dependencies.

    npm install
  3. Run the application.

    npm start
  4. You can test the application, just run

    npm test

Documentation

API endpoints are well-documented in a Postman collection. Link to Postman collection

Live Demo

The API is hosted live at Hosted API URL

Project Status

Completed features as part of the "Backend Engineer Test". All features under "Simple Mode" have been successfully implemented. For a list of additional tasks undertaken beyond Simple Mode, refer to the attached document.

Contribution

Feel free to fork this project and raise a PR for any enhancements.

About

A robust cloud backup system that serves as a platform for users to backup, manage, and stream their files.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages