Skip to content

Sabnish776/Secure-File-Vault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” Secure File Vault

A secure file storage web application that allows users to upload, store, and download files with encryption. The system ensures that all files are encrypted before being stored and can only be accessed by the authorized user.

πŸš€ Features

  1. πŸ” JWT Authentication (secure login system)
  2. πŸ“€ File Upload (supports documents, images, PDFs)
  3. πŸ”’ Encryption using AES (per-user key)
  4. πŸ—„οΈ MongoDB Storage (stores encrypted binary data)
  5. πŸ“₯ Secure Download (files are decrypted on request)
  6. πŸ—‘οΈ File Deletion
  7. πŸ“„ File Listing Dashboard
  8. 🎨 Modern Frontend UI (React)

🧠 How It Works

  1. User logs in and receives a JWT token
  2. File is uploaded via frontend
  3. Backend converts file β†’ byte array
  4. File is encrypted using AES with a user-specific key
  5. Encrypted file is stored in MongoDB
  6. When downloading:
  7. File is fetched
  8. Decrypted using the same key
  9. Returned to user with proper headers

πŸ› οΈ Tech Stack

Backend

  • Java
  • Spring Boot
  • Spring Security (JWT)
  • Spring Data MongoDB

Database

  • MongoDB (Atlas)

Frontend

  • React.js
  • HTML, CSS, JavaScript

How to Run

  1. Clone the repository
  2. Run "cd backend" to navigate to backend directory
  3. Set up MongoDB Atlas and update connection string in application.properties
  4. Run "mvn spring-boot:run" to start backend
  5. Run "cd frontend" to navigate to frontend directory
  6. Run "npm install" to install dependencies
  7. Run "npm run dev" to start frontend

About

A secure file storage web application that allows users to upload, store, and download files with encryption. The system ensures that all files are encrypted before being stored and can only be accessed by the authorized user.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages