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 vaultify
npm install
Create 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_id
npm start
You can also run Vaultify using Docker:
docker build -t vaultify .
docker run -p 5000:5000 --env-file server/.env vaultify
POST /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
POST
request to/documents/upload
. - Set the
Authorization
header:x-csrf-token your_x-csrf-token
- Use
form-data
with 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/:filename
or 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.