Skip to content

sidhanta03/WestDoc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WestDoc - A Smart Document Management System

Project Overview

WestDoc is a modern API-based Document Management System inspired by Google Photos but designed for documents. It allows users to create structured folders, upload files with metadata, and efficiently organize, retrieve, and manage documents. WestDoc ensures seamless storage, retrieval, and organization of digital assets.

Tech Stack

  • Backend: Node.js, Express.js
  • Database: PostgreSQL (via Sequelize)
  • File Storage: Cloudinary
  • File Upload Handling: Multer

Installation & Setup

Prerequisites

  • Node.js (v18+ recommended)
  • PostgreSQL
  • Cloudinary Account

Steps to Run Locally

  1. Clone the repository:

    git clone https://github.com/sidhanta03/westdoc.git
    cd westdoc
  2. Install dependencies:

    npm install
  3. Set up environment variables in a .env file:

  4. Start the server:

    npm start

Features

✅ Create structured folders with unique names, file type restrictions, and limits. ✅ Upload files with metadata (description, timestamps, size restrictions). ✅ Retrieve and manage folders (update, delete, get details). ✅ Retrieve and manage files (update metadata, delete, sort by size and recency). ✅ Filter files across multiple folders by type. ✅ Secure authentication and role-based access control.

API Endpoints

Method Endpoint Description
POST /folders/create Create a new folder
PUT /folders/:folderId Update folder name or file limit
DELETE /folders/:folderId Delete a folder and its contents
GET /folders/:folderId Get folder details
POST /folders/:folderId/files Upload a file to a folder
PUT /folders/:folderId/files/:fileId Update file description
DELETE /folders/:folderId/files/:fileId Delete a file
GET /folders/:folderId/files Get all files in a folder
GET /folders/:folderId/filesBySort?sort=size Sort files by size
GET /folders/:folderId/filesBySort?sort=uploadedAt Sort files by recency
GET /files?type=pdf Get files by type across folders
GET /folders/:folderId/files/metadata Get file metadata

Contribution Guidelines

  1. Fork the repository and create a new branch.
  2. Commit changes with meaningful messages.
  3. Submit a pull request for review.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors