Skip to content

Latest commit

 

History

History
205 lines (147 loc) · 7.41 KB

README.md

File metadata and controls

205 lines (147 loc) · 7.41 KB

Doctrak - Document Tracking System

Doctrak is a document tracking system that allows users to create and track the current status of documents. It utilizes Node.js, RSA for digital signature, Redis for caching, and Node.js cluster for multicore utilization, ensuring efficient performance and secure document handling. Users can create documents and track their progress as they move through various stages and are handled by designated dispatchers and responsible authorities.

Features

  1. Document Creation: Users can create new documents within the system.

  2. Digital Signature: Node RSA is used to apply digital signatures to documents, ensuring data integrity and authentication.

  3. Document Tracking: The system allows users to track the current status of documents as they progress through different stages.

  4. Dispatcher Handling: When a document is created, a dispatcher is tagged to handle its routing to the responsible authority.

  5. Multiple Dispatcher Handling: The system efficiently handles scenarios where multiple dispatchers are available. Requests are distributed among them, and the first dispatcher to select a request takes responsibility for handling it.

  6. Authority Tagging: The responsible authority is tagged to each document, and they can digitally sign the document using their provided private key.

Installation

  1. Clone the repository:

    git clone https://github.com/ankitsankhyan/Document_tracking_system.git
    cd doctrak
  2. Install Dependencies:

    npm install
  3. Configure Redis:

    Ensure that Redis is installed and running on your system. If not, download and install it from Redis Website.

  4. Set Environment Variables:

    Create a .env file in the root directory and set the following variables:

    PORT=3000
    REDIS_HOST=127.0.0.1
    REDIS_PORT=6379
    REDIS_PASSWORD=your_redis_password
  5. Generate RSA Key Pair:

    For each user RSA key pair is generated when user want but only once. Public key is stored inside the database and private key is given to each user which gets download in form of .txt file. To sign the doc user has to upload that file there

  6. Start the Application:

    Start the application using the following command:

    npm start
  7. Usage:

    The application will now be running at http://localhost:8000. Users can interact with the system through API endpoints. Certainly! Let's merge the additional API endpoints for UserRoutes with the previously compiled list of endpoints:

API Endpoint Readme

Document Management

  1. New Document

  2. Get Document by ID

  3. Update Document

  4. Delete Document

  5. List All Documents

  6. Search Documents

  7. Upload Document File

  8. Download Document File

Tags

  1. New Tag

  2. All tagged docs

  3. Mark As read

  4. Delete a tag

  5. Select Request

  6. Get Tags

  7. See all requests

  8. Mark As done

Signatures

  1. Approve document

  2. Verify Approval

  3. Delete Approval

  4. Signing Document

  5. Verify Documents

  6. Delete Signature

User Management

  1. Create User
  1. Login User
  1. Generate Keys

Note: Make sure to replace "http://localhost:8000" with the appropriate base URL of your API server. For endpoint #25, additional information about the method and endpoint is required for complete documentation.

Conclusion

Doctrak simplifies the process of document creation, tracking, and handling by efficiently utilizing Node.js, RSA for digital signatures, Redis for caching, and Node.js cluster for multicore utilization. The system offers a secure and seamless experience for users to manage their documents and ensure they can track these documents with ease.