Skip to content

Latest commit

ย 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒ™๐Ÿ’ฐ Dark Themed Personal Finance Dashboard

A modern, responsive personal finance dashboard with a sleek dark theme and neon accents. Built with pure HTML, CSS, and JavaScript - no frameworks required!

โœจ Features

Core Functionality

  • ๐Ÿ’ธ Transaction Management: Add income and expense transactions with categories and descriptions
  • ๐Ÿ“Š Data Persistence: All data stored locally in browser localStorage (no server required)
  • ๐Ÿ” Filtering System: Filter transactions by category and type
  • ๐Ÿ—‘๏ธ Delete Functionality: Remove transactions with confirmation modal
  • ๐Ÿ“ฑ Responsive Design: Works perfectly on desktop, tablet, and mobile devices

Dashboard Overview

  • ๐Ÿ“ˆ Animated Summary Cards: Total income, expenses, and balance with smooth number animations
  • ๐ŸŽฏ Recent Transactions: Quick view of the latest 5 transactions
  • ๐Ÿ“Š Monthly Chart: Bar chart showing income vs expenses over time
  • ๐ŸŽจ Dynamic Colors: Income in green, expenses in red, with neon highlights

Analytics Section

  • ๐Ÿ• Category Breakdown: Doughnut chart showing spending by category
  • ๐Ÿ“ˆ Trend Analysis: Line chart displaying 30-day income vs expense trends
  • ๐Ÿ”ข Smart Data Processing: Automatic calculation and visualization of financial patterns

Design & UI/UX

  • ๐ŸŒ™ Dark Theme: Deep dark background with neon blue, cyan, and violet accents
  • โœจ Smooth Animations: Fade-in, slide-up, and glow effects throughout
  • ๐Ÿ“ฑ Mobile-First: Collapsible sidebar with overlay for mobile devices
  • ๐ŸŽญ Interactive Elements: Hover effects, button animations, and smooth transitions
  • ๐Ÿš€ Performance: Optimized animations using CSS transforms and opacity

๐Ÿ› ๏ธ Technology Stack

  • HTML5: Semantic structure with modern accessibility features
  • CSS3: Advanced styling with CSS Grid, Flexbox, and custom properties
  • Vanilla JavaScript: ES6+ with classes, modules, and modern APIs
  • Chart.js: Beautiful, responsive charts for data visualization
  • Font Awesome: Icon library for consistent visual elements
  • LocalStorage API: Client-side data persistence

๐Ÿ“ Project Structure

finance-tracker/
โ”œโ”€โ”€ index.html              # Main HTML structure
โ”œโ”€โ”€ style.css              # Dark theme CSS with animations
โ”œโ”€โ”€ script.js              # JavaScript functionality
โ”œโ”€โ”€ data/
โ”‚   โ””โ”€โ”€ transactions.json   # Sample data for testing
โ””โ”€โ”€ README.md              # This documentation

๐Ÿš€ Getting Started

Quick Start

  1. Clone or download this repository to your local machine
  2. Open index.html in any modern web browser
  3. Start tracking your finances immediately!

No Installation Required

This project uses pure web technologies - no build process, no dependencies to install, no server setup required. Just open and use!

Sample Data

The project includes sample transactions in data/transactions.json for demonstration purposes. In the actual application, all data is stored in your browser's localStorage.

๐Ÿ“ฑ Responsive Design

Desktop (1200px+)

  • Full sidebar navigation always visible
  • Two-column dashboard layout
  • Large charts and summary cards
  • Hover effects and animations

Tablet (768px - 1199px)

  • Collapsible sidebar with overlay
  • Stacked dashboard layout
  • Optimized touch targets
  • Responsive charts

Mobile (320px - 767px)

  • Hidden sidebar with hamburger menu
  • Single-column layout
  • Simplified navigation
  • Touch-optimized interface

๐ŸŽจ Theme Customization

Color Scheme

The dark theme uses CSS custom properties for easy customization:

:root {
    --bg-primary: #0a0a0f;        /* Main background */
    --bg-secondary: #1a1a2e;      /* Card backgrounds */
    --neon-blue: #00d4ff;         /* Primary accent */
    --neon-cyan: #00ffff;         /* Secondary accent */
    --neon-violet: #7c4dff;       /* Tertiary accent */
    --income-color: #00e676;      /* Income green */
    --expense-color: #f44336;     /* Expense red */
}

Animations

All animations use CSS transitions and transforms for optimal performance:

  • Number counters animate smoothly on load
  • Cards have subtle hover effects with glow
  • Page transitions use fade and slide effects
  • Mobile menu slides in/out with overlay

๐Ÿ“Š Data Structure

Transaction Format

{
    id: 1698765432100,              // Unique timestamp ID
    type: "income",                 // "income" or "expense"
    category: "salary",             // Predefined categories
    amount: 5000.00,               // Positive number
    description: "Monthly salary",  // Optional description
    date: "2025-10-01T10:30:00.000Z" // ISO date string
}

Categories

  • Income: salary, freelance, investment, other
  • Expenses: food, transport, entertainment, utilities, other

๐Ÿ”ง Features in Detail

Dashboard Section

  • Summary Cards: Animated counters for total income, expenses, and balance
  • Monthly Overview: Bar chart showing last 6 months of data
  • Recent Transactions: List of the 5 most recent entries
  • Real-time Updates: All data updates immediately when transactions are added/removed

Transactions Section

  • Complete Transaction List: View all transactions with full details
  • Filtering Options: Filter by category and/or transaction type
  • Delete Functionality: Remove transactions with confirmation dialog
  • Responsive Layout: Stacked layout on mobile devices

Analytics Section

  • Category Spending: Doughnut chart showing top 5 expense categories
  • Trend Analysis: Line chart displaying 30-day income vs expense trends
  • Data Insights: Visual representation of spending patterns

Add Transaction Section

  • Form Validation: Ensures all required fields are completed
  • Dynamic Categories: Category dropdown updates based on transaction type
  • Success Feedback: Toast notifications confirm successful actions
  • Form Reset: Easy clear functionality

๐ŸŒ Browser Compatibility

Fully Supported

  • Chrome 60+
  • Firefox 55+
  • Safari 12+
  • Edge 79+

Features Used

  • CSS Grid and Flexbox
  • CSS Custom Properties
  • ES6 Classes and Arrow Functions
  • LocalStorage API
  • Canvas API (for charts)

๐Ÿ“ˆ Performance Features

Optimizations

  • CSS-only animations using transforms and opacity
  • Efficient DOM updates with minimal reflows
  • Smart chart updates only when data changes
  • Lazy loading of chart components
  • Optimized event listeners with proper cleanup

Loading

  • Instant startup - no external dependencies to download
  • Minimal JavaScript - under 750 lines of code
  • Compressed assets - optimized CSS and JavaScript
  • Fast rendering - uses modern CSS layout methods

๐Ÿ”’ Privacy & Security

Data Storage

  • Local Only: All data stored in your browser's localStorage
  • No Server: No data sent to external servers
  • Private: Only you can access your financial data
  • Persistent: Data remains until you clear browser storage

Security Notes

  • Data is not encrypted in localStorage
  • Use only on trusted devices
  • Regular browser cache clearing will remove data
  • Consider backing up important data separately

๐Ÿš€ Deployment Options

Static Hosting

Deploy to any static hosting service:

  1. GitHub Pages

    # Push to GitHub repository
    # Enable Pages in repository settings
    # Access via: https://username.github.io/repo-name
  2. Netlify

    # Drag and drop the folder to netlify.com
    # Or connect GitHub repository for auto-deployment
  3. Vercel

    # Install Vercel CLI: npm i -g vercel
    # Run: vercel --prod
  4. Local Server

    # Python 3
    python -m http.server 8000
    
    # Python 2
    python -m SimpleHTTPServer 8000
    
    # Node.js
    npx serve .

File Server Setup

Simply place all files in any web server directory:

  • Apache: /var/www/html/
  • Nginx: /usr/share/nginx/html/
  • IIS: C:\inetpub\wwwroot\

๐ŸŽฏ Usage Examples

Adding Income

  1. Navigate to "Add Transaction" section
  2. Select "Income" as type
  3. Choose category (salary, freelance, investment, other)
  4. Enter amount and optional description
  5. Submit to save to localStorage

Filtering Transactions

  1. Go to "All Transactions" section
  2. Use category dropdown to filter by specific categories
  3. Use type dropdown to show only income or expenses
  4. Combine filters for precise results

Viewing Analytics

  1. Visit "Analytics" section
  2. View category breakdown in doughnut chart
  3. Analyze spending trends in line chart
  4. Charts update automatically when data changes

๐Ÿ› Troubleshooting

Common Issues

Charts not displaying

  • Ensure Chart.js is loaded from CDN
  • Check browser console for JavaScript errors
  • Verify internet connection for external libraries

Data not persisting

  • Check if localStorage is enabled in browser
  • Ensure not in private/incognito mode
  • Try clearing browser cache and restarting

Mobile menu not working

  • Verify JavaScript is enabled
  • Check for JavaScript errors in console
  • Ensure viewport meta tag is present

Responsive issues

  • Clear browser cache
  • Check CSS media queries
  • Test on different screen sizes

Browser Developer Tools

Use F12 to open developer tools:

  • Console: Check for JavaScript errors
  • Application: View localStorage data
  • Network: Verify external resources load
  • Elements: Debug CSS styling issues

๐Ÿ”ฎ Future Enhancements

Potential Features

  • Export/Import: CSV and JSON data export functionality
  • Budgeting: Set monthly budgets with progress tracking
  • Categories: Custom category management
  • Recurring: Support for recurring transactions
  • Search: Full-text search through transactions
  • Themes: Multiple color themes and customization
  • Backup: Cloud backup integration options

Technical Improvements

  • PWA: Progressive Web App with offline support
  • Encryption: Client-side data encryption
  • Performance: Further optimization for large datasets
  • Accessibility: Enhanced screen reader support
  • Internationalization: Multi-language support

๐Ÿ“„ License

This project is open source and available under the MIT License. Feel free to use, modify, and distribute as needed.

๐Ÿ™ Credits

  • Chart.js: For beautiful, responsive charts
  • Font Awesome: For comprehensive icon library
  • CSS Grid: For modern, flexible layouts
  • LocalStorage: For client-side data persistence

๐ŸŒŸ Screenshots

Dashboard View

  • Animated summary cards showing total income, expenses, and balance
  • Monthly bar chart comparing income vs expenses
  • Recent transactions list with colorful icons
  • Responsive grid layout with hover effects

Mobile Experience

  • Collapsible sidebar with smooth slide animation
  • Touch-optimized interface with proper spacing
  • Single-column layout for better mobile usability
  • Full-screen overlay menu

Analytics Dashboard

  • Interactive doughnut chart for category breakdown
  • Trend line chart showing 30-day financial patterns
  • Color-coded data visualization with dark theme
  • Responsive chart sizing for all devices

Add Transaction Form

  • Clean form design with proper validation
  • Dynamic category selection based on transaction type
  • Success toast notifications with smooth animations
  • Professional styling with neon accent colors

Ready to take control of your finances? Open index.html in your browser and start tracking today! ๐Ÿ’ฐโœจ

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages