Skip to content

PATTASWAMY-VISHWAK-YASASHREE/UTrack

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

47 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›‘οΈ UTrack - Personal Security & Expense Tracking Platform

UTrack Logo

React Vite Firebase License Build Status

A modern web application that combines robust security features with intelligent expense tracking and progress monitoring.

πŸš€ Live Demo | πŸ“– Documentation | πŸ› Report Bug | πŸ’‘ Request Feature


🌟 Features

πŸ” Security First

  • Advanced Authentication - Secure user authentication with Firebase Auth
  • Real-time Security Monitoring - Track and monitor security events
  • Data Encryption - End-to-end encryption for sensitive data
  • Multi-factor Authentication - Enhanced security with MFA support

πŸ’° Smart Expense Tracking

  • Receipt Scanning - AI-powered receipt scanning and categorization
  • Real-time Analytics - Interactive charts and spending insights
  • Budget Management - Set and track spending limits
  • Automated Categorization - Machine learning-powered expense sorting

πŸ“Š Progress Monitoring

  • Goal Setting - Define and track personal financial goals
  • Progress Visualization - Beautiful charts and progress indicators
  • Alerts & Notifications - Smart alerts for spending patterns
  • Detailed Reports - Comprehensive spending and security reports

πŸ€– AI-Powered Chat

  • Intelligent Assistant - Get answers about your finances and security
  • Natural Language Processing - Ask questions in plain English
  • Personalized Recommendations - AI-driven financial advice

πŸ› οΈ Technology Stack

Frontend

  • React 19.1.0 - Modern React with latest features
  • Vite 7.0.4 - Lightning-fast build tool
  • React Router Dom 7.7.0 - Client-side routing
  • Lucide React - Beautiful icon library
  • CSS3 - Modern styling with flexbox and grid

Backend & Cloud Services

  • Firebase 12.0.0 - Complete backend solution
    • Authentication
    • Firestore Database
    • Cloud Storage
    • Hosting
  • Firebase Cloud Functions - Serverless backend logic
  • SendGrid - Email service integration

Development Tools

  • ESLint - Code linting and quality
  • Vite PWA Plugin - Progressive Web App features
  • Firebase Emulator Suite - Local development environment

πŸš€ Quick Start

Prerequisites

  • Node.js (v20 or higher)
  • npm or yarn
  • Firebase CLI
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/PATTASWAMY-VISHWAK-YASASHREE/UTrack.git
    cd UTrack
  2. Install dependencies

    npm install
  3. Install Firebase Functions dependencies

    cd functions
    npm install
    cd ..
  4. Configure Firebase

    # Login to Firebase
    firebase login
    
    # Initialize project (if not already done)
    firebase init
  5. Set up environment variables

    # Copy example environment file
    cp .env.example .env
    
    # Edit .env with your Firebase configuration
  6. Start development server

    npm run dev
  7. Start Firebase emulators (in a new terminal)

    firebase emulators:start

The application will be available at http://localhost:5173

πŸ“± Application Structure

UTrack/
β”œβ”€β”€ πŸ“ src/
β”‚   β”œβ”€β”€ πŸ“ components/          # Reusable UI components
β”‚   β”œβ”€β”€ πŸ“ pages/              # Application pages
β”‚   β”‚   β”œβ”€β”€ LandingPage.jsx    # Welcome & onboarding
β”‚   β”‚   β”œβ”€β”€ Home.jsx           # Dashboard
β”‚   β”‚   β”œβ”€β”€ Scan.jsx           # Receipt scanning
β”‚   β”‚   β”œβ”€β”€ Ask.jsx            # AI chat interface
β”‚   β”‚   β”œβ”€β”€ Alerts.jsx         # Notifications & alerts
β”‚   β”‚   └── You.jsx            # User profile
β”‚   β”œβ”€β”€ πŸ“ assets/             # Static assets
β”‚   β”œβ”€β”€ firebase.js            # Firebase configuration
β”‚   └── App.jsx                # Main application component
β”œβ”€β”€ πŸ“ functions/              # Firebase Cloud Functions
β”‚   β”œβ”€β”€ index.js               # Function definitions
β”‚   └── package.json           # Functions dependencies
β”œβ”€β”€ πŸ“ public/                 # Public assets
└── πŸ“„ package.json            # Project dependencies

🎯 Usage

1. Getting Started

  • Visit the landing page and create an account
  • Complete the setup process
  • Configure your security preferences

2. Dashboard Overview

  • View your spending summary
  • Check security status
  • Monitor goal progress
  • Access quick actions

3. Expense Tracking

  • Scan receipts using your camera
  • Manually add expenses
  • Categorize transactions
  • Set spending budgets

4. Security Monitoring

  • Review security alerts
  • Check login history
  • Configure security settings
  • Enable notifications

5. AI Assistant

  • Ask questions about your finances
  • Get spending insights
  • Receive personalized recommendations
  • Learn about security best practices

πŸ”§ Available Scripts

Command Description
npm run dev Start development server with hot reload
npm run build Build production-ready application
npm run preview Preview production build locally
npm run lint Run ESLint for code quality checks
firebase serve Serve the app using Firebase hosting
firebase deploy Deploy to Firebase hosting
firebase emulators:start Start Firebase emulators for local development

πŸ§ͺ Testing

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Run tests with coverage
npm run test:coverage

# Run Firebase Functions tests
cd functions && npm test

πŸš€ Deployment

Firebase Hosting

  1. Build the application

    npm run build
  2. Deploy to Firebase

    firebase deploy

Environment Variables

Make sure to set these environment variables in your Firebase project:

VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id
SENDGRID_API_KEY=your_sendgrid_api_key

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow the existing code style
  • Write meaningful commit messages
  • Add tests for new features
  • Update documentation as needed
  • Ensure all tests pass before submitting

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘₯ Contributors

πŸ“ž Support

πŸ™ Acknowledgments

  • Firebase team for the excellent backend platform
  • React community for the amazing ecosystem
  • Vite team for the blazing-fast build tool
  • All contributors who help make UTrack better

⭐ Star this repository if you find it helpful!

Made with ❀️ by the UTrack Team

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 77.7%
  • CSS 21.4%
  • HTML 0.9%