A full-stack MERN application that allows users to securely upload, store, and share files with encryption and controlled access.
- JWT-based authentication (login and registration)
- AES file encryption before storage
- Secure file uploads using Multer
- User-based access control
- Public and private file visibility options
- Shareable links with optional expiry
- File dashboard displaying size, upload date, and download count
- Protected API routes with middleware
- Node.js
- Express.js
- MongoDB (Mongoose)
- JWT (authentication)
- Multer (file upload)
- Crypto (encryption)
- React.js
- Axios
- React Router
backend/ ├── controllers/ ├── models/ ├── routes/ ├── middleware/ ├── utils/ └── server.js
frontend/ ├── components/ ├── pages/ ├── services/ └── context/
- Password hashing using bcrypt with salt
- AES-256 encryption for files
- Token-based authentication using JWT
- Protected routes using middleware
- POST /api/auth/register
- POST /api/auth/login
- POST /api/files/upload
- GET /api/files
- GET /api/files/:id
- DELETE /api/files/:id
- GET /api/files/share/:token
git clone https://github.com/your-username/secure-file-vault.git
cd backend
npm install
cd ../frontend
npm installcd backend
npm run dev
cd frontend
npm start- Frontend: Vercel or Netlify
- Backend: Render or Railway
- Database: MongoDB Atlas
Niranjan R Soorej