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.
- 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.
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/).
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.
Users add assets (stocks, mutual funds, savings) via API.
Backend stores holdings and calculates totals, diversification, and basic returns.
Recommendations include:
- Asset allocation
- 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
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
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
}
]
}
No external datasets — data is user-generated and stored in PostgreSQL/SQLite via Django models.
- 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
Prasanna Shakya
Email: 0431ps@gmail.com
GitHub: https://github.com/ANOT-coder
This project is available under the MIT License.


