Vaultify is a secure document management system that allows users to upload, store, search, and manage their important files in the cloud.
- 🔒 Secure Authentication: User authentication system to keep your documents secure.
- 📁 Document Storage: Upload and store your files securely on Backblaze B2 cloud storage.
- 🔍 Document Search: Search files by name, description, or tags.
- 📱 Document Management: Easily upload, download, view, and delete your documents.
- 📄 Custom Naming: Upload files with custom display names.
- 🏷️ Tagging System: Add tags to your documents for better organization and search.
- Backend: Node.js, Express
- Database: MongoDB with Mongoose
- Storage: Backblaze B2 Cloud Storage
- Logging: Winston
- Authentication: Custom token-based system
git clone https://github.com/anuj-rishu/Vaultify
cd vaultifynpm installCreate a .env file inside the server directory and add the following:
PORT=5000
MONGO_URI=your_mongo_db_connection_string
JWT_SECRET=your_secret_key
B2_APPLICATION_KEY_ID=your_backblaze_key_id
B2_APPLICATION_KEY=your_backblaze_application_key
B2_BUCKET_ID=your_backblaze_bucket_idnpm startYou can also run Vaultify using Docker:
docker build -t vaultify .
docker run -p 5000:5000 --env-file server/.env vaultifyPOST /auth/login— Login with username and password.DELETE /auth/logout— Logout user.
GET /documents— Get all documents for the authenticated user.GET /documents/:id— Get a specific document by ID.GET /documents/search/:filename— Search for documents by filename.GET /documents/search?query=searchterm— Search documents across name, description, and tags.POST /documents/upload— Upload a new document.DELETE /documents/:id— Delete a document.
Using Postman or a similar tool:
- Make a
POSTrequest to/documents/upload. - Set the
Authorizationheader:x-csrf-token your_x-csrf-token - Use
form-datawith the following fields:file: Your filedescription: Document descriptiontags: Comma-separated tags (e.g.,work,personal,important)customName(optional): Custom display name
Send a GET request to:
/documents/search/:filenameor search across name, description, and tags:
/documents/search?query=your_search_term- Token-based authentication.
- Rate limiting to prevent brute-force attacks.
- Secure file storage in Backblaze B2.
This project is licensed under the CC BY-NC-ND 4.0 License.
See the LICENSE file for details.
For questions or support, please open an issue on the GitHub repository.