2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00
2025-08-28 23:04:25 +03:00

Cashback Tracker

A comprehensive web application for tracking debit card cashback rewards. Built with React + TypeScript frontend, Node.js + Express + SQLite backend, and deployed with Docker Compose.

Features

  • Card Management: Add, edit, and delete debit cards with details
  • Category Management: Manage cashback categories (groceries, gas, etc.)
  • Monthly Category Assignment: Assign categories to cards with specific cashback percentages each month
  • Transaction Tracking: Record purchases and automatically calculate cashback
  • Dashboard: View current month's cashback summary with filtering options
  • Responsive Design: Works seamlessly on desktop and mobile devices

Tech Stack

  • Frontend: React 18, TypeScript, TailwindCSS, Shadcn/UI, React Router
  • Backend: Node.js, Express.js, SQLite3
  • Deployment: Docker & Docker Compose

Quick Start

  1. Clone the repository
  2. Run the application:
docker-compose up --build
  1. Access the application:

Development Setup

Frontend

npm install
npm run dev

Backend

cd server
npm install
npm run dev

Database Schema

  • cards: Store debit card information
  • categories: Cashback categories (groceries, gas, etc.)
  • monthly_categories: Monthly assignment of categories to cards with percentages
  • transactions: Purchase records with automatic cashback calculation

API Endpoints

  • GET /api/cards - Get all cards
  • POST /api/cards - Create new card
  • GET /api/categories - Get all categories
  • POST /api/categories - Create new category
  • GET /api/monthly-categories/:year/:month - Get monthly assignments
  • POST /api/monthly-categories - Create monthly assignment
  • GET /api/transactions/:year/:month - Get transactions by month
  • POST /api/transactions - Create transaction (auto-calculates cashback)
  • GET /api/cashback/:year/:month - Get cashback summary with filtering

Usage

  1. Setup Cards: Add your debit cards with bank information
  2. Create Categories: Define cashback categories (groceries, gas, dining, etc.)
  3. Monthly Assignment: Each month, assign categories to cards with their cashback percentages
  4. Track Transactions: Add purchases to automatically calculate and track cashback
  5. Monitor Dashboard: View monthly summaries and filter by card or category

Docker Commands

# Build and run
docker-compose up --build

# Run in background
docker-compose up -d

# View logs
docker-compose logs -f

# Stop services
docker-compose down

# Remove volumes (reset database)
docker-compose down -v

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

MIT License - see LICENSE file for details

Description
No description provided
Readme 230 KiB
Languages
TypeScript 77.8%
JavaScript 20%
CSS 1.6%
HTML 0.3%
Dockerfile 0.3%