MicroChecks - Project Documentation
Project Overview:
MicroChecks is a project within the XBot system that facilitates verification and validation checks for businesses through the upload of various identifiers such as PANs, GSTINs, and Udyog numbers. The primary objective is to provide quick, reliable verification services for compliance, registration status, and strike-off checks.
Scope of the Project:
The system allows clients to upload a list of identifiers and receive a detailed output file. Based on the checks opted for, the following verifications are performed:
-
MSME Udyam and Udyog Registered Checks: \
- Verification of registration status.
- Fetching associated entity details.
-
GST Checks: \
- Validation of GSTINs.
- Verification of GST compliance status.
- Retrieval of associated business information.
-
Struck-off Checks: \
- Identification of entities that are struck-off or dissolved.
- Verification of active/inactive status.
Process Flow:
-
Data Upload: \
- The client uploads a list of identifiers (PANs, GSTINs, Udyog numbers) through a user-friendly interface.
- Multiple formats like CSV, Excel, and text files are supported.
-
Check Selection: \
- Clients choose specific checks they wish to conduct (MSME, GST, Struck-off).
-
Data Validation: \
- Uploaded data is validated for correctness (format and duplication) before processing.
-
Processing & Verification: \
- Data is processed using third-party integrations via Axios for external API requests.
- Real-time checks are performed, and results are compiled.
-
Pricing & Quotation: \
- The pricing details for the selected checks are displayed.
- Clients can request a custom quote for bulk verifications.
- On acceptance, the billing amount is updated, and an order is created.
-
Output Generation: \
- Verified data is compiled into a structured output file.
- Clients can download the output file directly from the platform.
Technologies Used:
- Frontend: React with Javascript for a responsive user interface.
- Backend: Python
- Data Integration: Axios for REST API communication.
- File Handling: ExcelJS for file parsing and generation.
Error Handling and Validation:
- Input data validation for PAN, GSTIN, and Udyog numbers.
- Handling invalid entries and providing meaningful error messages.
- Secure data processing to ensure compliance and privacy.
Pricing and Billing:
- Standard pricing for each type of check is displayed.
- Custom quotes are available based on volume.
- Orders are created post-approval of the quoted pricing.
Integration with Sales Team:
- Option to contact the sales team for custom pricing.
- The billing amount is dynamically updated based on negotiated rates.
- The output file is provided upon order completion.
Future Enhancements:
- Integration with more government databases for comprehensive checks.
- Expansion to international checks for global compliance.
- Automated billing and invoicing systems.
**
**
Folder Structure
xbot-cloud
└── cm-dashboard
└── src
└── pages
└── micro-checks
Command to run microchecks frontend\
- docker-compose up -d nginx
Backend
- poetry shell
- nohup uvicorn server:app --port 3002(port where you are running) --host 0.0.0.0 > uvicorn_logs.txt 2>&1 &
Dashboards:
- User Dashboard:
- Displays the orders requested by the user.
- Allows users to raise new orders for verification checks.
- Provides access to the output files generated after processing.
- Sales Dashboard:
- Facilitates sales representatives in managing client quotations.
- Monitors client requests, quoted pricing, and final orders.
- Tracks sales metrics related to MicroChecks.
- Admin Dashboard:
- Manages configurations for the verification checks.
- Oversees pricing updates and adjustments for quoted prices.
- Controls user access and manages overall system configurations.
- Invoices:
- Displays generated invoices for processed orders.
- Manages payment status and historical billing records.
- Provides an option to download or view invoice details.
\
API INTEGRATION
APIs Used in admin dashboard
`/micro-check-api/microchecks/dashboard/admin_update`
**
**It is used for fetching the table data & as well as for updating some actions in the table. Added conditions on how the api needs to be called based on our requirement.
Sales Dashboard
`/micro-check-api/microchecks/admin/list_of_contact_sales_for_price`;
Used for fetching the table data
Another api is there which is used for quoting the price for a particular order.
Invoices
`/micro-check-api/microchecks/biling_invoices`
Used for fetching table data
User Dashboard
Orders api which is used to show the orders to the users/clients
`/micro-check-api/microchecks/dashboard/user_list_orders`
An api which is used to get the sales quoted price
/micro-check-api/microchecks/dashboard/check_order_price
We are having 3 checks MSME, GST, Struck off
Same apis we are using for different checks. Wherever required we are dynamically updating the query params if required.