Go to file
Anton Volnuhin f99bb963e4 Responsive timeline layout: mobile legend below chart, orientation-aware breakpoints
- Move timeline legend from vertical top-right to horizontal bottom on portrait phones (<=850px + portrait)
- Landscape phones and tablets use desktop layout (vertical legend on right)
- CSS: cap chart-wrapper height with min(Xvw, calc(100dvh - 130px)) to prevent landscape overflow
- CSS: timeline-mode fills viewport height in portrait for better space utilization
- Rotate x-axis month labels to -90° on mobile for cleaner vertical display
- Add debounced resize handler to re-render on orientation/breakpoint changes
- Guard zrender click handler with y-bounds to prevent legend-zone false positives

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 19:53:30 +03:00
.dockerignore Add Docker support for home server deployment 2026-02-07 18:15:32 +03:00
altcats-2025-01.csv drill-down and animation restored 2025-03-22 00:49:27 +03:00
app.js Responsive timeline layout: mobile legend below chart, orientation-aware breakpoints 2026-02-07 19:53:30 +03:00
DEV.md Initial 2025-03-19 20:41:30 +03:00
docker-compose.yml Add Docker support for home server deployment 2026-02-07 18:15:32 +03:00
index.html Add timeline view with stacked bar chart and view switcher 2026-02-06 16:05:48 +03:00
package.json Initial 2025-03-19 20:41:30 +03:00
README.md Initial 2025-03-19 20:41:30 +03:00
server.js Add Docker support for home server deployment 2026-02-07 18:15:32 +03:00
styles.css Responsive timeline layout: mobile legend below chart, orientation-aware breakpoints 2026-02-07 19:53:30 +03:00

Visual Spending

A visualization tool for family spending data using Apache ECharts.

Features

  • Visualize spending per categories, subcategories, and microcategories as a sunburst graph
  • Display spending data for different months
  • Interactive visualization with hover details and click navigation

Usage

  1. Ensure you have Node.js installed on your system
  2. Place your spending data CSV files in the root directory with the naming convention altcats-YYYY-MM.csv
  3. Run the server:
npm start
  1. Open your browser and navigate to http://localhost:3000

Data Format

The CSV file should have the following columns:

  • transaction_date
  • category
  • subcategory
  • microcategory
  • amount_rub

Technologies Used

  • Apache ECharts
  • Node.js