b99a445ad47a661411c1b4346e3d0b2ca6925b89
Envelope Budgeting App
A modern web-based envelope budgeting application built with Next.js, TypeScript, and Tailwind CSS. This app helps you manage your finances using the traditional envelope budgeting method in a digital format.
Features
- Envelope Management: Create and manage budget envelopes for different spending categories
- Visual Progress Tracking: See spending progress with color-coded progress bars
- Transaction History: Track and view recent transactions
- Data Input Options:
- Manual Entry: Add individual transactions with amount, description, date, and envelope assignment
- File Import: Import transactions from bank exports (CSV, OFX, QFX, QBO formats)
- Transaction Editing: Edit existing transactions with full details
- Envelope Creation: Add new budget envelopes with custom colors and allocations
- Data Export: Export all data to CSV or JSON formats for backup or analysis
- Budget Overview: Monitor total allocated, spent, and remaining amounts
- Responsive Design: Works seamlessly on desktop and mobile devices
Getting Started
Prerequisites
- Node.js 18+ and npm
Installation
- Clone the repository:
git clone <repository-url>
cd budget
- Install dependencies:
npm install
- Run the development server:
npm run dev
- Open http://localhost:7654 in your browser.
Available Scripts
npm run dev- Start the development servernpm run build- Build the project for productionnpm run start- Start the production servernpm run lint- Run ESLint for code quality checks
Project Structure
src/
├── app/
│ ├── layout.tsx # Root layout component
│ ├── page.tsx # Main budgeting dashboard
│ └── globals.css # Global styles
public/ # Static assets
Technologies Used
- Next.js 16 - React framework with App Router
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- React 19 - UI library
- ESLint - Code linting
How to Use
- View Dashboard: The main page shows your budget overview and envelope cards
- Add Transactions:
- Manual Entry: Click "Manual Entry" and fill in transaction details
- File Import: Click "Import from File", select your bank export format, and upload the file
- Monitor Envelopes: Each envelope displays allocated amount, spent amount, and remaining balance
- Track Progress: Visual progress bars show spending percentage for each envelope
- View Transactions: Recent transactions are listed with envelope associations
Data Import
Supported File Formats
- CSV: Comma-separated values with columns: Date, Amount, Description, Category (optional)
- OFX/QFX: Standard bank export formats from most financial institutions
- QBO: QuickBooks Online format
- PDF: Coming soon (statement parsing)
CSV Format Example
Date,Amount,Description,Category
2024-01-15,-25.50,Weekly groceries,Groceries
2024-01-16,-12.00,Gas station,Transportation
2024-01-17,1500.00,Salary deposit,Income
Advanced Features
Transaction Editing
- Click the edit icon (pencil) next to any transaction to modify its details
- Update amount, description, date, and envelope assignment
- Changes automatically update envelope spending calculations
Envelope Management
- Click "Add Envelope" to create new budget categories
- Choose from multiple colors for visual organization
- Set custom budget allocations for each envelope
Data Export
- Export all transactions and envelopes to CSV for spreadsheet analysis
- Export to JSON format for data backup or integration
- Includes complete transaction history and envelope details
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and linting
- Submit a pull request
License
This project is licensed under the MIT License.
Languages
TypeScript
96.3%
Shell
3%
CSS
0.4%
JavaScript
0.2%
Dockerfile
0.1%