https://github.com/jbloch100/mediavault
MediaVault is a secure, private media manager built with React + Vite. It stores and organizes images and videos offline in the browser using IndexedDB.
https://github.com/jbloch100/mediavault
frontend indexeddb javascript mediavault offline-storage portfolio react vercel vite
Last synced: 2 months ago
JSON representation
MediaVault is a secure, private media manager built with React + Vite. It stores and organizes images and videos offline in the browser using IndexedDB.
- Host: GitHub
- URL: https://github.com/jbloch100/mediavault
- Owner: jbloch100
- License: mit
- Created: 2025-08-18T02:24:25.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-18T02:55:34.000Z (10 months ago)
- Last Synced: 2025-08-30T12:26:27.749Z (10 months ago)
- Topics: frontend, indexeddb, javascript, mediavault, offline-storage, portfolio, react, vercel, vite
- Language: JavaScript
- Homepage: https://mediavault-lac.vercel.app
- Size: 260 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MediaVault
A secure and private **media manager** built with **React + Vite**.
MediaVault lets you store, tag, search, and favorite images and videos locally — all inside your browser using **IndexedDB**.
No external servers. No cloud. 100% private.
🌐 **Live Demo:** [https://mediavault.vercel.app/](https://mediavault-lac.vercel.app/)
---
## 🚀 Features
- **Local Media Storage** – Add images/videos, stored directly in your browser (IndexedDB).
- **Search & Filter** – Quickly find media by tags or keywords.
- **Favorites** – Mark important files for quick access.
- **Full-Screen Viewer** – Preview media, edit tags, download, or delete.
- **Offline-Ready** – Works without an internet connection.
- **Privacy First** – No uploads to external servers.
---
## 🛠️ Tech Stack
- **Frontend:** React 18, Vite, CSS3
- **Storage:** IndexedDB (via browser)
- **Deployment:** Vercel
---
## 📂 Project Structure
```
mediavault/
├── public/
├── src/
│ ├── components/ # MediaCard, MediaGrid, UploadForm, Viewer
│ ├── hooks/ # Custom IndexedDB hooks
│ ├── pages/ # Main Vault page
│ ├── App.jsx
│ ├── main.jsx
│ └── index.css
├── package.json
├── vite.config.js
└── index.html
```
---
## 🔧 Setup
```bash
npm install
npm run dev
```
Open [http://localhost:5173](http://localhost:5173).
---
## 🌐 Deployment
Easily deploy using [Vercel](https://vercel.com/):
- Build command: `npm run build`
- Output folder: `dist`
---
## 📸 Screenshots
### Mobile View

### Desktop View

---
## 📅 Roadmap
- 🔒 Optional encryption for stored media
- ☁️ Cloud sync option
- 🏷 Bulk tagging
---
## 📄 License
This project is open source under the [MIT License](LICENSE).
---
## 🏷 GitHub Topics
`react` `vite` `javascript` `indexeddb` `mediavault` `frontend` `offline` `vercel`