Skip to content

Latest commit

Β 

History

History
79 lines (58 loc) Β· 4.39 KB

File metadata and controls

79 lines (58 loc) Β· 4.39 KB

πŸ“‚ FilesStorer

A backend application for file storage and management, inspired by Google Drive.
Built using Node.js, Express, and MongoDB, with support for file uploads, folder management, and media streaming.


✨ Features

  • πŸ” User Authentication & Authorization – Secure signup/login with JWT + bcrypt.
  • πŸ“€ File Uploads – Store files in Cloudinary (supports multiple file types).
  • πŸ“ Folder Management – Create, delete, and manage folders.
  • πŸ“‚ File Management – Search, download, delete, and preview files.
  • 🎬 Media Streaming – Stream videos efficiently using data chunking.

πŸ›  Tech Stack

  • Backend: Node.js, Express
  • Database: MongoDB, Mongoose
  • Authentication: JWT, bcrypt
  • File Handling: Multer, Cloudinary
  • Middleware: cookie-parser

βš™οΈ Installation

  1. Clone the repository
    git clone https://github.com/Suyash0803/FilesStorer.git
    cd FilesStorer

Install dependencies

bash Copy code npm install Set up environment variables Create a .env file in the root directory:

env Copy code PORT=your_port CORS_ORIGIN=* MONGODB_URI=your_mongodb_api_key ACCESS_TOKEN_SECRET=your_access_token_secret ACCESS_TOKEN_EXPIRY=your_access_token_expiry REFRESH_TOKEN_SECRET=your_refresh_token_secret REFRESH_TOKEN_EXPIRY=your_refresh_token_expiry CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name CLOUDINARY_API_KEY=your_cloudinary_api_key CLOUDINARY_API_SECRET=your_cloudinary_api_secret Start the application

bash Copy code npm run dev πŸš€ Usage Create Account β†’ Sign up using the auth endpoint.

Upload Files β†’ Upload files to Cloudinary.

Manage Files & Folders β†’ Create/delete/search/download.

Stream Media β†’ View images/videos directly in the browser.

πŸ’‘ Key Concepts βœ… Mongoose Transactions β†’ Reliable database operations.

πŸ”„ Retry Mechanisms β†’ Handles failures and minimizes data loss.

⚑ Efficient Data Handling β†’ Optimized schema for fast queries.

πŸ›‘ Production-Ready β†’ Error handling + best practices.

πŸ™Œ Acknowledgements Inspired by Google Drive.

Built using Express, MongoDB, Mongoose, JWT, bcrypt, Multer, Cloudinary, cookie-parser.