Skip to main content

deployment

DOCUMENTATION SECTION 29A

MFE Name: user-dashboard (User Dashboard)
Version: 1.0.0
Date: 07/04/2025

๐Ÿ”น Overviewโ€‹

The User Dashboard in the Section 29A MFE module allows users to:

  • View all their previously raised report requests. \

  • Raise new report requests via a guided form. \

  • Manage RAs (Resolution Applicants) under each CD (Corporate Debtor). \

  • Select Legal Opinions as required, which dynamically updates the billing. \


๐Ÿง‘โ€๐Ÿ’ผ 1. User Dashboard Pageโ€‹

๐Ÿ–ฅ๏ธ Components:โ€‹

  • **Report Requests Table
    **

    • Displays a list of all previously raised requests by the user. \

    • Each entry shows basic info like CD Name, Number of RAs, Legal Opinion Status, etc. \

  • **Raise New Report Request Button
    **

    • On click, opens a new page/form to start a fresh report request flow. \

๐Ÿ“ 2. New Report Request Flowโ€‹

๐Ÿ”น Step 1: Enter Required Detailsโ€‹

  • Fields: \

    • CD Name (Corporate Debtor) \

    • PAN/CIN (based on type) \

    • Additional metadata (as needed) \

๐Ÿ”น Step 2: Add RAs (Resolution Applicants)โ€‹

  • Multiple RAs can be added under a single CD. \

  • Each RA will have fields like: \

    • Name \

    • Type (Individual / Company / LLP, etc.) \

    • Relation \

    • PAN/DIN \

    • GSTIN (optional) \

  • For each RA, users can select whether Legal Opinion is required. \

  • Based on this selection, billing will be recalculated accordingly. \


๐Ÿ’ณ 3. Billing Logicโ€‹

  • Billing is dynamically adjusted based on: \

    • Number of RAs \

    • Whether Legal Opinion is selected per RA \

  • Total amount shown before final submission. \


โœ… 4. Final Submissionโ€‹

  • After entering all details and confirming billing: \

    • The user submits the report request. \

    • Data is sent to backend for processing. \

    • User is redirected back to the dashboard.

API Integration

The project utilizes GraphQL for API integration, following a structured approach to ensure efficient data fetching and mutation handling. The integration process includes the following steps:

  1. **Writing GraphQL Queries & Mutations
    **

    • Create .graphql files to define queries and mutations.
    • These files specify the exact data requirements and structure needed from the API.
  2. Generating Type-Safe Files

    ** Run the command:
    ** pnpm run generate

    • This generates TypeScript files containing auto-generated hooks, types, and API bindings based on the defined GraphQL operations.
  3. **Creating Custom Hooks
    **

    • A .ts file is created to define custom hooks for specific queries/mutations.
    • These hooks wrap the generated API functions for improved reusability and abstraction.
  4. **Using Hooks in Components
    **

    • The custom hooks are then imported and used in React components to fetch and manipulate data dynamically.

The Following are the apis used in the user dashboard.

Listing Service Requests, Creating New Service Requests, Updating Service Requests, listing Service Req Status.

MFE Name: analyst-dashboard (Analyst Dashboard)
Version: 1.0.0
Date: 07/04/2025

๐Ÿ“˜ Section 29A MFE - Analyst Dashboard (Frontend Documentation)โ€‹

๐Ÿ”น Overviewโ€‹

The Analyst Dashboard is designed for internal analysts to upload and analyze CPs (Connected Parties). Unlike the user dashboard, the analyst doesnโ€™t raise report requests but instead works on existing requests by uploading estimations via Excel. This estimation process helps in moving the report forward for legal opinion and billing.


๐Ÿง‘โ€๐Ÿ’ป 1. Analyst Dashboard Pageโ€‹

๐Ÿ–ฅ๏ธ Components:โ€‹

  • **Assigned Report Requests Table
    **
    • Shows a list of reports assigned to the analyst for estimation. \

    • Each row includes: \

      • CD Name \

      • Request Date \

      • Status (e.g., "Pending Estimation", "Estimation Uploaded") \

      • Action button (e.g., "Upload Estimation") \


๐Ÿ“‚ 2. Upload Estimations Flowโ€‹

๐Ÿ”น Step 1: Open Estimation Upload Pageโ€‹

  • Triggered by clicking on "Upload Estimation" for a specific report. \

  • Opens a form or modal specific to that CD. \

๐Ÿ”น Step 2: Upload CPs Excelโ€‹

  • Analyst uploads CPs using a pre-defined Excel template. \

  • Types of CPs supported: \

    • Companies \

    • Directors \

    • Individuals \

๐Ÿ”น Step 3: Excel Parsing & Previewโ€‹

  • Uploaded Excel is parsed (using ExcelJS or similar). \

  • CPs are categorized automatically based on headers and shown in preview. \

  • Analyst can make edits if necessary before final upload. \


๐Ÿง  3. CPs Analysis Logicโ€‹

  • Each CP is matched with fields like: \

    • Name \

    • PAN / DIN / CIN \

    • Relation \

    • GSTINs, DOB, etc. \

  • Analysts can also: \

    • Remove wrongly parsed CPs \

    • Add missing data manually if needed \


๐Ÿ“ค 4. Final Uploadโ€‹

  • On confirmation: \

    • Estimation data is sent to the backend. \

    • Report status is updated (e.g., under legal review). \

    • Billing component is triggered based on Legal Opinion flags selected by the user earlier.

๐Ÿ”น Overviewโ€‹

The Legal Dashboard is used by the legal team to review report requests for which the user has opted for a legal opinion. The legal expert can analyze the estimation data and upload a final legal opinion PDF. Once uploaded, the user can view this document from their dashboard.


๐Ÿ–ฅ๏ธ Components:โ€‹

  • **Reports Table (Legal Queue)
    **
    • Lists all report requests where a legal opinion is required. \

    • Each row displays: \

      • CD Name \

      • Submitted By (User) \

      • Number of RAs \

      • Estimation Status \

      • Legal Opinion Status (Pending / Uploaded) \

      • Action button: **View & Upload Opinion
        **


๐Ÿ”น Step 1: View Report Detailsโ€‹

  • On clicking View & Upload Opinion, a detailed view opens. \

  • Components in the view: \

    • CD & RA Summary \

    • Parsed CPs (from estimation) \

    • Estimation file preview/download (optional) \

    • Comment box (optional) \

  • Legal user uploads a PDF document that contains the legal opinion. \

  • Metadata captured: \

    • File name \

    • Upload timestamp \

    • Uploaded by (legal user) \

โœ… Upload Validation:โ€‹

  • Only PDF format is accepted. \

  • Upload cannot proceed without selecting a valid file. \


๐Ÿ“ค 3. Final Submissionโ€‹

  • On submitting the opinion: \

    • Backend stores the legal opinion file. \

    • Status of the report is updated (e.g., opinion_uploaded). \

    • Notification can be triggered to the original user (optional). \


  • Once uploaded, the user can view the legal opinion in their dashboard. \

  • Component: \

    • โ€œLegal Opinionโ€ column/link in the Report Requests Table. \

    • Opens the uploaded PDF in a viewer or initiates download. \

\

๐Ÿ“˜ Section 29A MFE - CAM Dashboard (Frontend Documentation)โ€‹

๐Ÿ”น Overviewโ€‹

The CAM (Credit Appraisal Manager) Dashboard is the final step in the Section 29A workflow. Once the analyst has uploaded estimations and the legal team has submitted the legal opinion (if opted), the report is marked complete, and the CAM is notified. From here, the CAM confirms the report status and initiates the billing process.


๐Ÿงพ 1. CAM Dashboard Pageโ€‹

๐Ÿ–ฅ๏ธ Components:โ€‹

  • **Completed Reports Table
    **
    • Lists all reports that are marked complete after: \

      • Estimation uploaded by analyst โœ… \

      • Legal opinion uploaded (if selected by user) โœ… \

    • Table columns include: \

      • CD Name \

      • Number of RAs \

      • Estimation & Legal Status \

      • Report Completion Date \

      • Billing Status (Pending / Initiated / Completed) \

      • Action: **Confirm & Initiate Billing
        **


๐Ÿ” 2. Report Status Updateโ€‹

๐Ÿ”น Step 1: Notification & Loadโ€‹

  • Once backend marks report as complete, CAM receives: \

    • In-app notification (optional) \

    • Or the dashboard automatically reflects new entries in โ€œPending Billingโ€ status \

๐Ÿ”น Step 2: Confirm Completionโ€‹

  • CAM reviews the report summary \

  • Clicks โ€œMark as Confirmedโ€ or **โ€œReady for Billingโ€
    **


๐Ÿ’ณ 3. Billing Initiationโ€‹

๐Ÿงพ Billing Components:โ€‹

  • Billing Amount is dynamically calculated based on: \

    • Number of RAs \

    • Legal Opinions selected \

    • GST and additional charges


๐Ÿ“ค 4. Finalization & Trackingโ€‹

  • After billing is initiated: \

    • Status changes to โ€œBilling Initiatedโ€ or **โ€œPayment Pendingโ€
      **
    • Once payment is completed, status updates to **โ€œCompletedโ€
      **

๐Ÿ” Workflow Summaryโ€‹

graph TD

Analyst[Estimation Uploaded] --> Legal[Legal Opinion Uploaded]

Legal --> BackendMarkComplete[Report Marked Complete]

BackendMarkComplete --> CAMDashboard[CAM Dashboard]

CAMDashboard --> ConfirmReport[Confirm Completion]

ConfirmReport --> Billing[Initiate Billing]

Billing --> StatusUpdate[Billing Status Updated]

StatusUpdate --> Payment[Payment Processed]
\

Deployment

INFO - MFE

pnpm build

docker build --no-cache -t section29a-fe/info:latest .

docker tag section29a-fe/info:latest us-west1-docker.pkg.dev/test-genai-422809/signalx-section29a/section29a-fe/info:latest

docker push

us-west1-docker.pkg.dev/test-genai-422809/signalx-section29a/section29a-fe/info:latest

Root - MFE

pnpm build

docker build --no-cache -t section29a-fe/root:latest .

docker tag section29a-fe/root:latest

us-west1-docker.pkg.dev/test-genai-422809/signalx-section29a/section29a-fe/root:latest

docker push

us-west1-docker.pkg.dev/test-genai-422809/signalx-section29a/section29a-fe/root:latest

Header - MFE

pnpm build

docker build --no-cache -t section29a-fe/sec29a-header:latest .

docker tag section29a-fe/sec29a-header:latest

us-west1-docker.pkg.dev/test-genai-422809/signalx-section29a/section29a-fe/sec29a-header:latest

docker push us-west1-docker.pkg.dev/test-genai-422809/signalx-section29a/section29a-fe/sec29a-header:latest

User Dashboard - MFE

pnpm build

docker build --no-cache -t section29a-fe/user-dashboard:latest .

docker tag section29a-fe/user-dashboard:latest

us-west1-docker.pkg.dev/test-genai-422809/signalx-section29a/section29a-fe/user-dashboard:latest

docker push

us-west1-docker.pkg.dev/test-genai-422809/signalx-section29a/section29a-fe/user-dashboard:latest

Legal Dashboard - MFE

pnpm build

docker build --no-cache -t section29a-fe/legal-dashboard:latest .

docker tag section29a-fe/legal-dashboard:latest

us-west1-docker.pkg.dev/test-genai-422809/signalx-section29a/section29a-fe/legal-dashboard:latest

docker push

us-west1-docker.pkg.dev/test-genai-422809/signalx-section29a/section29a-fe/legal-dashboard:latest

Analyst Dashboard MFE

pnpm build

docker build --no-cache -t section29a-fe/analyst-dashboard:latest .

docker tag section29a-fe/analyst-dashboard:latest

us-west1-docker.pkg.dev/test-genai-422809/signalx-section29a/section29a-fe/analyst-dashboard:latest

docker push

us-west1-docker.pkg.dev/test-genai-422809/signalx-section29a/section29a-fe/analyst-dashboard:latest

CAM Dashboard - MFE

pnpm build

docker build --no-cache -t section29a-fe/cam-dashboard:latest .

docker tag section29a-fe/cam-dashboard:latest

us-west1-docker.pkg.dev/test-genai-422809/signalx-section29a/section29a-fe/cam-dashboard:latest

docker push

us-west1-docker.pkg.dev/test-genai-422809/signalx-section29a/section29a-fe/cam-dashboard:latest