Skip to content

track and manage your credit card bills, due dates, and payments

License

Notifications You must be signed in to change notification settings

rajeshkanaka/CCBillTrackerPOC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

πŸ’³ Credit Card Bill Tracker

Credit Card Bill Tracker

A comprehensive application to track and manage your credit card bills, due dates, and payments. Stay on top of your finances with automated reminders and easy-to-read summaries.

🌟 Features

  • πŸ“Š Track multiple credit cards
  • πŸ“… Monitor due dates and minimum payments
  • πŸ’° Calculate total dues across all cards
  • πŸ“§ Fetch bill information from Gmail
  • πŸ”” Set reminders using Google Calendar
  • πŸ” Secure authentication with Google OAuth

πŸš€ Getting Started

Prerequisites

  • Node.js (v14 or later)
  • npm (v6 or later)
  • Google Cloud Platform account

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/credit-card-bill-tracker.git
    
  2. Navigate to the project directory:

    cd credit-card-bill-tracker
    
  3. Install dependencies:

    npm install
    
  4. Create a .env file in the root directory and add your Google Client ID:

    VITE_GOOGLE_CLIENT_ID=your_google_client_id_here
    
  5. Start the development server:

    npm run dev
    

πŸ› οΈ Tech Stack

  • React
  • Vite
  • React Router
  • Axios

πŸ“‹ Next Steps

To fully implement this application, follow these detailed steps:

  1. Set up Google Cloud Project

    • Go to the Google Cloud Console
    • Create a new project
    • Enable the Gmail API and Google Calendar API
    • Create OAuth 2.0 credentials (Web application type)
    • Add authorized JavaScript origins and redirect URIs
  2. Implement Gmail API Integration

    • Install the Google API client library: npm install googleapis
    • Update src/services/gmailService.js to use the Gmail API
    • Implement functions to fetch and parse email data for credit card bills
    • Handle pagination for fetching multiple emails
    • Implement error handling for API requests
  3. Implement Google Calendar API Integration

    • Update src/services/calendarService.js to use the Google Calendar API
    • Implement functions to create events and set reminders
    • Handle timezone differences
    • Implement error handling for API requests
  4. Set up Backend Server

    • Create a new directory for the backend (e.g., server)
    • Initialize a new Node.js project: npm init -y
    • Install necessary packages: npm install express cors dotenv google-auth-library
    • Implement OAuth token exchange
    • Create secure endpoints for making API calls
    • Implement proper error handling and logging
  5. Enhance Frontend

    • Implement loading states for API calls
    • Add error handling and user-friendly error messages
    • Implement a more robust state management solution (e.g., Redux or React Context)
    • Create a settings page for user preferences
    • Implement data caching for better performance
  6. Improve UI/UX

    • Choose and implement a CSS framework (e.g., Tailwind CSS, Material-UI)
    • Design and implement a responsive layout
    • Create a dark mode option
    • Add animations for smoother transitions
    • Implement data visualization (e.g., charts for spending trends)
  7. Testing

    • Write unit tests for React components using Jest and React Testing Library
    • Implement integration tests for API calls
    • Set up end-to-end testing using a tool like Cypress
  8. Security Enhancements

    • Implement proper token storage and management
    • Set up HTTPS for the development environment
    • Implement rate limiting on the backend
    • Add input validation and sanitization
  9. Deployment

    • Choose a hosting platform (e.g., Vercel, Netlify for frontend; Heroku, DigitalOcean for backend)
    • Set up continuous integration and deployment (CI/CD) pipelines
    • Configure environment variables for production
    • Implement proper logging and monitoring
  10. Documentation

    • Write API documentation
    • Create user guides and FAQs
    • Document the codebase for future maintenance

πŸ“„ License

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

πŸ™ Acknowledgements


Made with ❀️ by [Rajesh Pandhare]

About

track and manage your credit card bills, due dates, and payments

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published