A comprehensive, feature-rich EMI (Equated Monthly Installment) calculator web application built with React and FastAPI. This application provides advanced loan calculation features including prepayment options, loan comparison, tax benefits, refinancing analysis, and more.
- Standard EMI Calculator: Calculate monthly EMI with interactive sliders
- Prepayment Calculator: See how prepayments reduce tenure and interest
- Loan Comparison Tool: Compare multiple loan scenarios side-by-side
- Calculation Methods: Support for both Reducing Balance and Flat Rate calculations
- Step-up EMI Calculator: Plan EMI increases to close loans faster
- Rent vs Buy Analyzer: Make informed decisions about renting vs buying property
- Refinance Calculator: Evaluate if refinancing makes financial sense
- Tax Benefit Calculator: Calculate tax savings under Indian Income Tax Act (Sections 80C, 24, 80EEA)
- Floating Rate Calculator: Model loans with variable interest rates
- β Multiple Prepayment Options: One-time, yearly, monthly, quarterly prepayments
- β Prepayment Strategies: Choose between EMI reduction or tenure reduction
- β Interactive Charts: Pie charts, line charts, bar charts for visual analysis
- β Detailed Amortization Schedules: Month-by-month and yearly breakdowns
- β Tax Benefit Analysis: Calculate deductions under old and new tax regimes
- β Break-even Analysis: For refinancing and rent vs buy decisions
- β Processing Fees & Penalties: Factor in all costs for accurate calculations
- β Responsive Design: Works seamlessly on desktop, tablet, and mobile devices
- β Real-time Calculations: Instant results as you adjust parameters
- β Export Ready: Print-friendly layouts for reports
- React 18.2: Modern UI library
- React Router DOM: Client-side routing
- Recharts: Beautiful, responsive charts
- Axios: HTTP client for API calls
- CSS3: Custom styling with modern features
- FastAPI: High-performance Python web framework
- Pydantic: Data validation using Python type hints
- Uvicorn: ASGI server for FastAPI
- Python 3.8+: Backend programming language
- Option 1 (Docker): Docker & Docker Compose
- Option 2 (Manual): Python 3.8+, Node.js 14+, npm
A. Local Development (3 containers)
# Navigate to project directory
cd EMI-Calculator
# Build and start all services
docker-compose up -d
# View logs
docker-compose logs -fAccess:
- Application: http://localhost:3000
- API Documentation: http://localhost:3000/docs
B. VPS Production Deployment (Single Port)
# On VPS
cd /opt/emi-calculator
# Deploy
chmod +x deploy.sh
./deploy.shAccess:
- Application: http://your-vps-ip:3000
- Single port exposure (3000)
- NGINX reverse proxy
See VPS_DEPLOYMENT.md for complete VPS deployment guide.
See DOCKER.md for local Docker deployment guide.
- Clone the repository
git clone <repository-url>
cd EMI-Calculator- Backend Setup
cd backend
pip install -r requirements.txt
python advanced_main.py- Frontend Setup (in a new terminal)
cd frontend
npm install
npm start- Access the Application
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
- Enter loan amount, interest rate, and tenure
- View monthly EMI, total interest, and payment breakdown
- Analyze the amortization schedule
- Input loan details
- Configure prepayment amount and frequency
- Choose between EMI reduction or tenure reduction
- Compare savings vs standard EMI
- Add multiple loan scenarios
- Adjust parameters for each scenario
- View side-by-side comparison charts
- Analyze which loan option is best
- Enter annual principal and interest paid
- Specify property value and income
- Select tax regime (old/new)
- View tax deductions and savings
- Input property price and down payment
- Enter monthly rent and appreciation rates
- View break-even analysis
- Get recommendation based on your scenario
- Enter current loan details
- Input new loan terms
- Factor in processing fees and penalties
- View break-even period and net savings
- Enter initial loan details
- Add expected rate changes over time
- View EMI variations and total interest
- Analyze rate change timeline
POST /api/calculate/advanced
Calculate EMI with advanced features including prepayments, step-up EMI, and processing fees.
POST /api/calculate/stepup
Calculate EMI with periodic increases.
POST /api/calculate/tax-benefit
Calculate tax deductions and savings on home loans.
POST /api/calculate/rent-vs-buy
Compare renting vs buying a property.
POST /api/calculate/refinance
Evaluate refinancing benefits.
POST /api/calculate/floating-rate
Calculate EMI with variable interest rates.
- Lump Sum: One-time prepayment at any month
- Yearly: Annual prepayments
- Monthly: Regular monthly additional payments
- Quarterly: Prepayments every 3 months
- Strategy Selection: Reduce EMI or reduce tenure
- Pie Charts: Principal vs Interest breakdown
- Line Charts: Balance reduction over time, rate changes
- Bar Charts: Yearly payment breakdown, comparison charts
- Responsive: Auto-adjust to screen size
- Section 80C: Principal repayment deduction (up to βΉ1.5 lakh)
- Section 24: Interest payment deduction (up to βΉ2 lakh)
- Section 80EEA: First home buyer benefit (up to βΉ1.5 lakh)
- Tax Regime Comparison: Old vs New regime analysis
- Break-even Calculations: For refinancing and rent vs buy
- Effective Interest Rate: After tax benefits
- Total Cost Analysis: Including all fees and penalties
- Savings Projections: Interest saved, tenure reduced
- All calculations performed client-side and server-side
- No data storage or tracking
- No personal information collected
- CORS enabled for secure API communication
- Mobile-first approach
- Tablet-optimized layouts
- Desktop-enhanced experience
- Touch-friendly controls
- Print-ready reports
- PDF report generation
- Email/SMS sharing
- Scenario saving (local storage)
- Multi-currency support
- Loan comparison with up to 5 scenarios
- Amortization heatmap visualization
- AI-powered loan recommendations
- Integration with real-time interest rates
- Multi-language support
- Dark mode theme
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
- VPS_DEPLOYMENT.md - π VPS deployment with NGINX reverse proxy (Production)
- DOCKER.md - π³ Local Docker deployment guide
- DOCKER-IMPLEMENTATION.md - π Docker implementation plan & architecture
- TESTING.md - π§ͺ Complete testing & validation strategy
- FASTAPI_FEATURES.md - β‘ FastAPI features & architecture
- PROJECT_STRUCTURE.md - ποΈ Architecture and file organization
- FEATURES_SUMMARY.md - β¨ Complete features overview
- FLAT_RATE_IMPLEMENTATION.md - π° Flat Rate vs Reducing Balance implementation
- TODO.md - β Project completion checklist
- RUN_TESTS.md - π¬ How to run tests
- DEPLOYMENT_CHECKLIST.md - π Deployment checklist
- KEY_TAKEAWAYS.md - π― Key learnings & future enhancements
For issues, questions, or suggestions, please open an issue on GitHub.
This calculator provides estimates only. Actual loan terms, EMIs, and tax benefits may vary based on lender policies, individual circumstances, and current tax laws. Please consult with financial advisors and tax professionals for personalized advice.
- Built with React and FastAPI
- Charts powered by Recharts
- Icons and UI inspired by modern design principles
Made with β€οΈ for better financial planning