DevVault is a self-hosted cloud storage backend inspired by Google Drive. It allows users to store, organize, retrieve, and manage files on their own server while maintaining synchronized metadata for efficient file management.
The project is designed for developers, hobbyists, and organizations that want a private storage solution without relying on third-party cloud providers.
- File upload
- File download
- File deletion
- File rename/update
- Metadata synchronization
- Folder creation
- Folder deletion
- Folder hierarchy support
- REST API architecture
- Local filesystem storage
- JSON-based metadata management
- User authentication and authorization
- JWT-based security
- Server-side rendered Admin Dashboard
- Server-side rendered User Dashboard
- User management system
- Activity and transaction logs
- Storage analytics
- LAN file sharing between connected devices
- Access permissions and role management
- Advanced search capabilities
DevVault stores files directly on the server's filesystem while maintaining metadata separately for quick access and management.
storage/
├── user1/
│ ├── documents/
│ └── images/
│
├── user2/
│ ├── projects/
│ └── backups/
│
└── ...
Metadata is currently stored using JSON files and synchronized with the actual filesystem.
This approach provides:
- Fast metadata retrieval
- Simple deployment
- Easy debugging
- No database dependency
- Node.js
- Express.js
- TypeScript
- Multer
- Node.js File System (fs)
- Path Module
- JSON Files
- REST API
git clone https://github.com/your-username/devvault.git
cd devvaultnpm installnpm run devDevVault aims to provide:
- Self-hosted storage
- Private file management
- Simple deployment
- Extensible architecture
- Local network file sharing
- Google Drive-like experience without cloud dependency
- User uploads a file.
- File is stored in the user's storage directory.
- Metadata is generated and synchronized.
- User can retrieve metadata without scanning the filesystem.
- Files can be downloaded, renamed, moved, or deleted through the API.
The planned Admin Panel will provide:
- User management
- File monitoring
- Storage tracking
- Transaction logs
- Activity auditing
- Server overview
The planned User Dashboard will provide:
- File management interface
- Folder navigation
- Upload and download controls
- Account settings
- Storage usage statistics
Planned security features include:
- JWT Authentication
- Access control
- Protected API routes
- Role-based permissions
- Audit logging
Contributions, suggestions, and feedback are welcome.
Feel free to fork the repository and submit pull requests.
This project is licensed under the MIT License.