Skip to content

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

129 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SmartSpend Wealth Builder πŸ’°

A personal finance management and wealth-building application designed to help users track expenses, manage budgets, and achieve their financial goals.


🎯 Problem Statement

Managing personal finances is often overwhelming, especially for individuals who lack a centralized platform to:

  • Track daily expenses across multiple categories
  • Visualize spending patterns and trends
  • Set and monitor financial goals
  • Receive insights about their financial health
  • Plan better for their future wealth accumulation

Traditional spreadsheets are error-prone and lack real-time analytics, while complex financial software often has a steep learning curve.


πŸ’‘ Solution

SmartSpend Wealth Builder is an intuitive web application that provides:

  • Expense Tracking: Log and categorize expenses in real-time
  • Budget Management: Set category-wise budgets and monitor progress
  • Financial Analytics: Visual dashboards showing spending patterns and trends
  • Goal Setting: Define and track wealth-building objectives
  • User-Friendly Interface: Clean, modern UI for seamless experience
  • Data Persistence: Secure storage of all financial data

This application empowers users to make informed financial decisions and work towards their wealth-building goals with confidence.


πŸ› οΈ Tech Stack

Frontend

  • React 18 - UI library for building interactive components
  • TypeScript - Type-safe JavaScript for better code maintainability
  • Vite - Lightning-fast build tool and development server
  • Tailwind CSS - Utility-first CSS framework for responsive design
  • Shadcn/ui - High-quality React components built on Radix UI
  • Lucide React - Beautiful and consistent icon library

Development Tools

  • Node.js & npm - JavaScript runtime and package manager
  • Git - Version control system
  • ESLint - Code quality and style enforcement
  • Prettier - Code formatter for consistent styling

Architecture

  • Component-Based Architecture - Reusable React components
  • State Management - React hooks (useState, useContext, useReducer)
  • Local Storage - Client-side data persistence
  • Responsive Design - Mobile-first approach

πŸš€ Getting Started

Prerequisites

Installation Steps

  1. Clone the Repository

    git clone https://github.com/Ratheesh-DP/smartspend-wealth-builder.git
    cd smartspend-wealth-builder
  2. Install Dependencies

    npm install
  3. Start the Development Server

    npm run dev

    The application will be available at http://localhost:5173 (or the port shown in your terminal)

  4. Build for Production

    npm run build
  5. Preview Production Build

    npm run preview

Zerodha workspace

Open Zerodha in the app sidebar and enter the API key, API secret, and one-time request token from your Kite Connect app. The request token is exchanged by the Cloud function; the resulting access token is stored server-side and is never returned to the browser. On later local reloads, the saved API key reconnects to the server-side session until Kite requires a new daily login.

The Signals tab loads the official Nifty 100 constituent CSV, maps symbols to NSE instrument tokens, fetches daily candles, calculates the requested SMA pair, and ranks the latest bullish or bearish crossovers. Kite Connect access must be enabled for the account, and the API secret is not persisted.


πŸ“ Project Structure

smartspend-wealth-builder/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/        # Reusable React components
β”‚   β”œβ”€β”€ pages/            # Page components
β”‚   β”œβ”€β”€ hooks/            # Custom React hooks
β”‚   β”œβ”€β”€ utils/            # Utility functions and helpers
β”‚   β”œβ”€β”€ types/            # TypeScript type definitions
β”‚   β”œβ”€β”€ App.tsx           # Main application component
β”‚   └── main.tsx          # Application entry point
β”œβ”€β”€ public/               # Static assets
β”œβ”€β”€ index.html            # HTML template
β”œβ”€β”€ vite.config.ts        # Vite configuration
β”œβ”€β”€ tsconfig.json         # TypeScript configuration
β”œβ”€β”€ tailwind.config.js    # Tailwind CSS configuration
└── package.json          # Project dependencies

🎨 Features

βœ… Core Features Implemented

  • Dashboard - Overview of financial summary and recent transactions
  • Expense Tracking - Add, edit, and delete expense entries
  • Category Management - Organize expenses by categories
  • Budget Management - Set budgets and track spending against limits
  • Analytics & Reports - Visual charts and spending insights
  • Goal Tracking - Set and monitor financial goals
  • Responsive Design - Works seamlessly on desktop, tablet, and mobile

πŸ“Š Key Screens

  1. Dashboard - Financial overview with key metrics
  2. Transactions - Complete transaction history with filters
  3. Budgets - Budget setup and monitoring
  4. Analytics - Visual reports and spending analysis
  5. Goals - Financial goal management
  6. Settings - User preferences and data management

πŸ”§ Development Process

1. Project Planning

  • Identified core pain points in personal finance management
  • Defined user personas and use cases
  • Created wireframes and user flows

2. Architecture Design

  • Planned component hierarchy
  • Designed state management structure
  • Decided on data persistence strategy

3. Component Development

  • Built reusable components with TypeScript
  • Implemented responsive layouts with Tailwind CSS
  • Used Shadcn/ui for consistent, accessible UI elements

4. Feature Implementation

  • Developed expense tracking functionality
  • Implemented budget management system
  • Created analytics and reporting features
  • Built goal-tracking system

5. Testing & Optimization

  • Tested across different browsers and devices
  • Optimized performance with code splitting
  • Ensured accessibility standards (WCAG)

6. Deployment

  • Built production-ready bundle
  • Deployed to hosting platform
  • Set up monitoring and error tracking

πŸ“š What I Learned

Frontend Development

  • React Hooks Mastery - Deep understanding of useState, useContext, useEffect, and custom hooks
  • TypeScript Benefits - Type safety reduces bugs and improves code maintainability significantly
  • Tailwind CSS - Efficient styling approach with utility-first methodology
  • Component Composition - Building scalable applications through composable components

UI/UX Design

  • Responsive Design Patterns - Mobile-first approach for better user experience
  • Accessibility Standards - WCAG compliance and inclusive design principles
  • User Feedback - Importance of clear error messages and user guidance
  • Design Systems - Using component libraries consistently

State Management

  • Local State vs Global State - When to use each for optimal performance
  • Context API - Managing global state without external libraries
  • Data Persistence - Leveraging localStorage for client-side data storage
  • Performance Optimization - Preventing unnecessary re-renders

Real-World Development

  • Version Control - Git workflows and commit best practices
  • Code Quality - Linting, formatting, and code organization
  • Performance Metrics - Understanding Vite's fast build times
  • User-Centric Development - Building features that solve real problems

Financial Logic

  • Expense Categorization - Organizing and aggregating financial data
  • Budget Calculations - Tracking spending against targets
  • Financial Analytics - Creating meaningful visualizations from data
  • Goal Progress Tracking - Calculating and displaying progress metrics

🎬 How to Use

Adding an Expense

  1. Navigate to the Transactions section
  2. Click Add Expense button
  3. Enter amount, category, date, and description
  4. Click Save

Setting a Budget

  1. Go to Budgets section
  2. Click Create New Budget
  3. Select category, set limit amount, and time period
  4. Click Confirm

Tracking Goals

  1. Visit Goals section
  2. Click Add Goal
  3. Define goal amount, target date, and name
  4. Track progress as you save

Viewing Analytics

  1. Go to Analytics section
  2. Select date range and category filters
  3. View spending patterns, trends, and insights
  4. Export reports if needed

🌐 Live Demo

Project Link: SmartSpend Wealth Builder (Update with actual deployment URL)


πŸ“ Available Scripts

  • npm run dev - Start development server with hot module replacement
  • npm run build - Create optimized production build
  • npm run preview - Preview production build locally
  • npm run lint - Run ESLint to check code quality
  • npm run format - Format code with Prettier

🀝 Contributing

Contributions are welcome! Feel free to fork this repository and submit pull requests with improvements.


πŸ“ž Contact & Support


πŸ“„ License

This project is open source and available under the MIT License.


πŸ™ Acknowledgments

  • React Community - For excellent documentation and ecosystem
  • Tailwind CSS - For making styling intuitive and efficient
  • Shadcn/ui & Radix UI - For providing accessible, beautiful components
  • Vite - For incredibly fast development experience

Happy Wealth Building! πŸš€

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages