README

Quality gatearrow-up-rightLicense: MITarrow-up-right

mfscreener

Description: MF Screener is a Java-based application designed to provide mutual fund screening capabilities. It allows users to fetch mutual fund data, including historical NAVs, scheme details, and portfolio information, through a set of RESTful APIs.

Setup:

  1. Clone the repository.

  2. Ensure Java 25, docker and gradle are installed.

  3. Navigate to the project directory and follow steps at run-locally to start the application.

Usage:

  • Fetch mutual fund schemes: GET /api/scheme/{schemeName}

  • Upload portfolio details: POST /api/portfolio/upload

  • Calculate XIRR: GET /api/xirr/{pan}

Acronyms

  • ISIN - International Security Identification Number

  • PAN - Personal Account Number

  • CAS - Consolidated Account Statement

Simplified Class Diagram Concept

This overview and class diagram provide a conceptual understanding of the project's structure. For detailed class relationships and method signatures, please refer to the source code directly.

Run tests

Run locally with docker

Run locally

Using Testcontainers at Development Time

You can run TestApplication.java from your IDE directly. You can also run the application using Gradle as follows:

  • Swagger UI: http://localhost:8080/swagger-ui.html

  • Actuator Endpoint: http://localhost:8080/actuator

  • PgAdmin (UI for Postgres Database) : http://localhost:5050 (pgadmin4@pgadmin.org/admin)

  • Grafana : http://localhost:3000 (admin/admin)

  • JobRunr Dashboard: http://localhost:8000/dashboard/overview

Check redis keys

  • To check redis keys from docker issue below command

how to read CAS Data using casparserarrow-up-right

  • Install phyton

  • install casparser using command

  • generate json using below command and upload to system

    Here 2nd argument is the path of the pdf file, followed by password of CAS file and the output Type needed

Last updated