Releases: CesarAugustusGroB/web-react-learning
Expense Tracker UI Revamp
Release Document — Expense Tracker UI Revamp
Version: v0.3.0-alpha
Date: 2025-06-09
Overview
This release introduces Chakra UI integration into the Expense Tracker app to significantly enhance the user interface and experience. The UI components have been refactored to leverage Chakra’s accessible, themeable, and responsive design system, with added support for dark mode and improved form validation.
Features Implemented
Installed and configured Chakra UI with custom theming
Replaced global styles with Chakra’s theming and CSS reset
Refactored layout components (Box, Flex, Grid) for responsiveness
Updated all form components (Input, Select, Button, etc.) using Chakra UI
Enhanced expense list and items with Chakra components and icons
Redesigned summary and chart containers with Chakra layout and typography
Implemented dark mode toggle with persistent user preference
Improved accessibility and keyboard navigation throughout the app
Removed legacy CSS and streamlined styling code
How to Upgrade
Run npm install @chakra-ui/react @emotion/react @emotion/styled framer-motion
Wrap the root app component with
Replace legacy styles with Chakra components and styles as per documentation
Tagging
Tag name: v0.3.0-alpha
This is a UI-focused alpha release introducing Chakra UI and theming improvements.
Version: v0.2.0-alpha
📦 Release: v0.2.0-alpha
Date: 2025-06-10
Status: Alpha
✨ New Features
Category Dropdown with Defined Options
Replaced free-text input with a select dropdown for category selection.
Predefined categories: Food, Rent, Transport, Utilities, Entertainment, Others.
✅ Ensures data consistency and accurate aggregation for charts.
Enhanced Filter Logic
Category and date range filters now apply to:
ExpenseList
ExpenseSummary
ExpenseChart
🔒 Added validation: start date must not be later than end date.
Charts Visualization
Integrated Recharts for data visualization.
Pie Chart: Displays distribution of expenses by category.
Bar Chart: Shows total expenses per month.
Charts are located in the ExpenseChart component and reflect filtered data from context.
User Experience Improvements
🧼 Form clears automatically after saving or cancelling an edit.
📱 Responsive styling added for better experience on mobile and smaller screens.
Version: v0.1.0-alpha
Release Document — Expense Tracker App
Version: v0.1.0-alpha
Date: 2025-06-09
Overview
This release covers the initial implementation of the Expense Tracker app, focusing on core features for adding, managing, filtering, and visualizing expenses. It uses React with TypeScript and includes local state management and data persistence in localStorage.
Features Implemented
- Project Setup and Environment Configuration
Initialized React + TypeScript project
Configured folder structure for components, context, models, hooks, utils, and styles
Installed dependencies including React, TypeScript, and charting library (placeholder for Recharts/Chart.js)
- TypeScript Data Models
Defined Expense and Category interfaces
Established filters state typing for category and date range
- React Context and Reducer Setup
Created ExpenseContext with useReducer
Implemented actions for adding, editing, deleting expenses, setting filters, and loading initial data
- ExpenseForm Component
Form to add new expenses
Inputs for description, amount, category, and date
Validation and controlled form state
-
ExpenseFilters Component
Filter expenses by category (select dropdown) and date range (start and end dates) -
ExpenseList and ExpenseItem Components
Render filtered list of expenses
Edit and delete buttons on each expense item
- LocalStorage Persistence
Load expenses from localStorage on app initialization
Sync expenses to localStorage on state changes
-
ExpenseSummary Component
Calculates and displays total expenses overall and by category based on current filters -
ExpenseChart Component (Stub)
Placeholder for expense visualization using charts (pie/bar) -
Main Page Integration
Integrated all components in App.tsx within ExpenseProvider context
Basic responsive layout with header, form, filters, list, summary, and chart sections
Known Limitations & Next Steps
Editing expenses populates form partially, needs full implementation
Date and category filtering logic can be refined (validation, UX improvements)
ExpenseChart currently a placeholder, needs full implementation with Recharts or Chart.js
UI styling can be improved for better responsiveness and accessibility
No authentication or backend syncing yet, data is limited to localStorage
No export/import of expenses
Tagging
Tag name for this release: v0.1.0-alpha
This is an alpha release intended for initial testing and feedback, not production use
How to Run
Clone repo
Run npm install or yarn
Start dev server with npm start or yarn start
Open http://localhost:3000/ in your browser