Skip to content

ANOT-coder/MinorProject

Repository files navigation

Digital Financial Advisor using Django and React

Project Overview

This project is a full-stack personal finance advisor application that helps users manage portfolios, track expenses, receive financial insights, and get personalized recommendations. It uses Django with Django REST Framework for the secure backend API and React (bootstrapped with Create React App) for the interactive frontend dashboard.

The backend manages user accounts, financial transactions, portfolio holdings, and advisor logic (e.g., risk assessment, goal projections). The frontend provides visualizations, forms for input, and displays recommendations in a user-friendly interface.

Features

  • User registration, authentication, and profile management.
  • Portfolio tracking with asset addition and performance overview.
  • Expense/income logging and categorization.
  • Financial goal setting (e.g., retirement, home purchase) with progress tracking.
  • Personalized financial health insights and recommendations.
  • Responsive dashboard for viewing summaries, charts, and alerts.
  • REST API for secure data exchange between frontend and backend.
  • Admin interface for data oversight via Django admin.

How the System Works

1. User Input

The user provides:

  • Personal details (age, income level, risk tolerance)
  • Financial data (current savings, investments, monthly expenses/income)
  • Goals (target amount, timeline) Input is collected via frontend forms and sent through POST requests to backend API endpoints (e.g., /api/portfolio/, /api/goals/).

2. User Profiling

Users are profiled based on inputs such as:

  • Income-to-expense ratio
  • Current net worth
  • Risk tolerance (low/medium/high)
  • Age and time horizon Profiling use standard rules and models to categorize financial behavior.

3. Portfolio & Asset Management

Users add assets (stocks, mutual funds, savings) via API.
Backend stores holdings and calculates totals, diversification, and basic returns.

4. Goal Projection & Recommendations

Recommendations include:

  • Asset allocation

5. Data Models & Core Logic

  • User model (extended Django User)
  • Portfolio / Asset model (holdings, value, type)
  • Transaction / Expense model (date, category)
  • Goal model (target, deadline, progress)
  • Relationships: User → Portfolio/Goals/Transactions

API Usage

Endpoint Examples:
POST /api/register/ — User signup
POST /api/token/ — JWT login
GET /api/portfolio/ — Fetch user portfolio
POST /api/transactions/ — Add expense/income
GET /api/recommendations/ — Get financial advice

Example Response (Portfolio Summary):

JSON{
"total_value": 850000,
"assets": [
    {
    "type": "Stocks",
    "value": 500000,
    "percentage": 59
    },
    {
    "type": "Savings",
    "value": 350000,
    "percentage": 41
    }
],
"recommendation": "Increase equity exposure to 65% for better long-term growth.",
"goals_progress": [
    {
    "name": "Retirement",
    "current": 400000,
    "target": 5000000,
    "months_left": 120
    }
]
}

Dataset Requirements

No external datasets — data is user-generated and stored in PostgreSQL/SQLite via Django models.

Future Improvements

  • Add advanced ML models for investment prediction or expense clustering
  • Integrate real-time market data APIs
  • Implement budgeting charts and visualizations
  • Add further responsiveness enhancements and notifications
  • Support multi-currency and inflation adjustments
  • Include retirement calculator and tax estimation

Author

Prasanna Shakya
Email: 0431ps@gmail.com
GitHub: https://github.com/ANOT-coder

License

This project is available under the MIT License.

Visual Snippets

Home Page

Query Form Page

Scatter Plot

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors