Skip to content

Latest commit

ย 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

โ˜๏ธ Cloud-Based File Storage System

A modern full-stack cloud application that allows users to securely upload, manage, search, download, and delete files using Microsoft Azure Blob Storage.

The application provides secure JWT authentication, cloud-based file storage, MongoDB Atlas integration, and a responsive dashboard built with React and Node.js.


๐ŸŒ Live Demo

๐Ÿš€ Frontend

https://cloud-based-file-storage-system-psi.vercel.app

โš™๏ธ Backend API

https://cloud-storage-api-h1kb.onrender.com

๐Ÿ“‚ GitHub Repository

https://github.com/Mandvi28/Cloud-Based-File-Storage-System


๐ŸŽฅ Project Demo

Click the image below to watch the complete project demonstration.

Project Demo

๐Ÿ“ธ Project Preview

๐Ÿ  Home Page

Home


๐Ÿ“ Register Page

Register


๐Ÿ” Login Page

Login


๐Ÿ“Š Dashboard

Dashboard


๐Ÿ“ค Upload Files

Upload


โ˜๏ธ Azure Blob Storage

Azure Storage


๐Ÿƒ MongoDB Atlas

MongoDB


โœจ Features

๐Ÿ” Authentication

  • User Registration
  • User Login
  • JWT Authentication
  • Password Encryption using bcrypt
  • Protected Routes

๐Ÿ“ File Management

  • Upload Files
  • Download Files
  • Delete Files
  • Search Files
  • View Uploaded Files
  • Upload Date & Time
  • File Size Formatting
  • Azure Blob Storage Integration

๐Ÿ“Š Dashboard

  • Total Uploaded Files
  • Storage Usage
  • Recent Files
  • Responsive Dashboard
  • Search Functionality

โ˜๏ธ Cloud Integration

  • Azure Blob Storage
  • MongoDB Atlas
  • REST API
  • Secure Backend

๐Ÿ—๏ธ Project Architecture

                 React + Vite
                       โ”‚
                       โ”‚
                  Axios API
                       โ”‚
                       โ–ผ
             Node.js + Express
                       โ”‚
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ–ผ                         โ–ผ
 MongoDB Atlas             Azure Blob Storage
(User & Metadata)          (Actual Files)

๐Ÿš€ Tech Stack

Frontend

  • React.js
  • Vite
  • React Router DOM
  • Tailwind CSS
  • Axios

Backend

  • Node.js
  • Express.js

Database

  • MongoDB Atlas

Cloud Storage

  • Microsoft Azure Blob Storage

Authentication

  • JWT
  • bcryptjs

Other Packages

  • Multer
  • UUID
  • dotenv
  • CORS

๐Ÿ“‚ Folder Structure

Cloud-Based-File-Storage-System
โ”‚
โ”œโ”€โ”€ client/
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ public/
โ”‚   โ”œโ”€โ”€ package.json
โ”‚   โ””โ”€โ”€ vite.config.js
โ”‚
โ”œโ”€โ”€ server/
โ”‚   โ”œโ”€โ”€ config/
โ”‚   โ”œโ”€โ”€ controllers/
โ”‚   โ”œโ”€โ”€ middleware/
โ”‚   โ”œโ”€โ”€ models/
โ”‚   โ”œโ”€โ”€ routes/
โ”‚   โ”œโ”€โ”€ server.js
โ”‚   โ””โ”€โ”€ package.json
โ”‚
โ”œโ”€โ”€ screenshots/
โ”‚   โ”œโ”€โ”€ home.png
โ”‚   โ”œโ”€โ”€ register.png
โ”‚   โ”œโ”€โ”€ login.png
โ”‚   โ”œโ”€โ”€ dashboard.png
โ”‚   โ”œโ”€โ”€ upload.png
โ”‚   โ”œโ”€โ”€ azure-storage.png
โ”‚   โ””โ”€โ”€ mongodb.png
โ”‚
โ”œโ”€โ”€ README.md
โ””โ”€โ”€ .gitignore

โš™๏ธ Installation

Clone Repository

git clone https://github.com/Mandvi28/Cloud-Based-File-Storage-System.git

Install Backend

cd server
npm install

Install Frontend

cd ../client
npm install

Start Backend

npm start

Start Frontend

npm run dev

๐Ÿ” Environment Variables

Create a .env file inside the server folder.

PORT=5000

MONGO_URI=YOUR_MONGODB_CONNECTION_STRING

JWT_SECRET=YOUR_SECRET_KEY

AZURE_STORAGE_CONNECTION_STRING=YOUR_AZURE_STORAGE_CONNECTION_STRING

AZURE_STORAGE_CONTAINER_NAME=uploads

๐Ÿ“ก API Endpoints

Authentication

Method Endpoint
POST /api/auth/register
POST /api/auth/login

Files

Method Endpoint
GET /api/files
POST /api/files/upload
DELETE /api/files/:id

๐Ÿ“… Development Timeline

โœ… Day 1

  • Project Setup
  • React + Express
  • Tailwind CSS
  • Routing
  • Authentication UI

โœ… Day 2

  • MongoDB Atlas
  • Azure Blob Storage
  • JWT Authentication
  • Register/Login API

โœ… Day 3

  • File Upload API
  • Azure Blob Upload
  • MongoDB Metadata
  • Protected Routes

โœ… Day 4

  • Dashboard
  • Upload Files
  • Delete Files
  • File Statistics

โœ… Day 5

  • Search
  • File Size Formatting
  • Production Deployment
  • README
  • GitHub

๐Ÿ”ฎ Future Enhancements

  • Multiple File Upload
  • Drag & Drop Upload
  • File Preview
  • Folder Support
  • Rename Files
  • File Sharing Links
  • Dark Mode
  • User Profile
  • Email Verification

๐Ÿ‘จโ€๐Ÿ’ป Author

Mandvi Singh

GitHub

https://github.com/Mandvi28


โญ If you like this project

If you found this project helpful, please consider giving it a โญ on GitHub.

It motivates me to build more cloud-based applications.

About

Cloud-based file storage system built with React, Node.js, MongoDB Atlas, and Microsoft Azure Blob Storage.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages