BudgetBud is a comprehensive budgeting application designed to help users manage their finances effectively. The application provides various features such as tracking monthly expenses, visualizing spending by category, comparing budget vs. actual spending, and viewing recent transactions.
- Dashboard: Overview of your financial status with summary cards, charts, and recent transactions.
- Monthly Expenses: Visual representation of your spending over the last 6 months or the current month.
- Spending by Category: Pie chart showing the breakdown of your spending by category for the current month.
- Budget vs. Actual: Comparison of your budgeted vs. actual spending.
- Recent Transactions: List of your latest financial activities.
BudgetBud now uses local storage to persist budget data. This means that all budget information is stored directly in the user's browser and does not rely on a backend server.
- Faster access to data as it is stored locally.
- No need for a backend server, simplifying deployment.
- Data is tied to the specific browser and device. Switching devices or clearing browser storage will result in data loss.
- Not suitable for multi-user or collaborative scenarios.
The main page of the application providing an overview of your financial status.
- SummaryCards: Displays key financial metrics.
- ExpensesBarChart: Bar chart showing monthly expenses.
- CategoryPieChart: Pie chart showing spending by category.
- BudgetVsActualChart: Chart comparing budgeted vs. actual spending.
- RecentTransactions: List of recent transactions.
- SummarySkeleton: Skeleton loader for summary cards.
- TransactionsSkeleton: Skeleton loader for recent transactions.
- DataContext: Provides context for managing expenses data.
To get started with BudgetBud, follow these steps:
-
Clone the repository:
git clone https://github.com/yourusername/budgetbud.git
-
Install dependencies:
cd budgetbud npm install -
Set up environment variables for MongoDB connection.
-
Start the development server:
npm run dev
-
Open your browser and navigate to
http://localhost:3000.
Contributions are welcome! Please open an issue or submit a pull request for any changes.