Commit Graph

17 Commits

Author SHA1 Message Date
40210c454e Add lock files for package management and update architecture documentation
- Introduced bun.lock and package-lock.json to manage dependencies for the project.
- Enhanced backend API architecture documentation with additional security and documentation guidelines.
- Made minor formatting adjustments across various files for consistency and clarity.
2025-12-11 02:11:43 -05:00
4911b5d125 Remove ESLint configuration and related dependencies from frontend project
- Deleted eslint.config.js file to streamline project setup.
- Removed ESLint and related packages from package.json to simplify development environment.
2025-12-11 02:11:10 -05:00
5b3d18a5b3 Add pino-pretty and update dependencies in package.json and bun.lock
- Added pino-pretty as a development dependency for enhanced logging capabilities.
- Updated various dependencies in bun.lock to their latest versions for improved performance and security.
2025-12-08 02:58:33 -05:00
ca5a13ea51 Refactor asset type handling in AssetController schema
- Replaced native enum for asset types with a constant array using z.enum for improved type safety and maintainability in create and update asset schemas.
2025-12-08 02:57:49 -05:00
700832550c Update backend API configuration and schema for improved functionality
- Modified TypeScript configuration to disable strict mode and allow importing TypeScript extensions.
- Updated Prisma schema to enhance the User model with a new debtAccounts field and refined asset/liability types.
- Adjusted environment variable parsing for PORT to use coercion for better type handling.
- Refactored various controllers and repositories to utilize type imports for better clarity and maintainability.
- Enhanced service layers with new methods for retrieving assets by type and calculating invoice statistics.
- Introduced new types for invoice statuses and asset types to ensure consistency across the application.
2025-12-08 02:57:38 -05:00
cd93dcbfd2 Add backend API for personal finance management application
- Introduced a comprehensive backend API using TypeScript, Fastify, and PostgreSQL.
- Added essential files including architecture documentation, environment configuration, and Docker setup.
- Implemented RESTful routes for managing assets, liabilities, clients, invoices, and cashflow.
- Established a robust database schema with Prisma for data management.
- Integrated middleware for authentication and error handling.
- Created service and repository layers to adhere to SOLID principles and clean architecture.
- Included example environment variables for development, staging, and production setups.
2025-12-07 12:59:09 -05:00
9d493ba82f Ran prettier 2025-12-07 12:19:38 -05:00
a62782a58f Refactor and enhance frontend with security, validation, and performance improvements
## Summary
  Complete frontend overhaul implementing best practices, security hardening,
  full CRUD operations, and performance optimizations across the application.

  ## Key Changes

  ### Architecture & Performance
  - Implement code splitting with React.lazy() reducing main bundle from 795KB to 308KB (61% improvement)
  - Add error boundary component for graceful error handling
  - Create shared utility modules for formatters, validation, and calculations

  ### Security Enhancements
  - Add input sanitization to prevent XSS attacks
  - Implement comprehensive validation (email, phone, positive numbers, required fields)
  - Sanitize all user inputs before storage
  - Add confirmation dialogs for destructive operations

  ### Features & Functionality
  - Implement complete edit/delete operations for assets, liabilities, clients, and invoices
  - Add invoice status update functionality (draft/sent/paid/overdue/cancelled)
  - Connect "Record Snapshot" button with proper functionality
  - Fix hardcoded statistics with dynamic calculations (monthly change, YTD growth)
  - Make all list items clickable with hover effects and visual feedback

  ### Code Quality
  - Replace inline currency formatting with shared formatters
  - Add comprehensive input validation across all forms
  - Display inline error messages for validation failures
  - Implement loading states for lazy-loaded routes
  - Ensure type safety throughout with zero TypeScript errors

  ### UI/UX Improvements
  - Add hover states to all clickable items
  - Display validation errors inline with user-friendly messages
  - Add loading indicators during page transitions
  - Color-code financial metrics (green for positive, red for negative)
  - Improve form user experience with real-time validation

  ## Technical Details
  - Created src/lib/formatters.ts for currency and percentage formatting
  - Created src/lib/validation.ts for input validation and sanitization
  - Created src/lib/calculations.ts for financial calculations
  - Added EditAssetDialog, EditLiabilityDialog, EditClientDialog, InvoiceDetailsDialog
  - Wrapped app in ErrorBoundary for robust error handling
2025-12-07 12:19:02 -05:00
613e8fdb70 Add .nvmrc file and update README for Personal Finances app
- Added .nvmrc file to specify Node.js version 24 for the project.
- Revised README to reflect the new project focus on personal finance management, detailing features such as net worth tracking, debt management, invoicing, and cashflow monitoring.
- Updated installation and development instructions to use Bun for package management.
2025-12-07 11:47:23 -05:00
d3f5df403d Add invoice dialog and enhance Cashflow, Clients, Invoices, and Net Worth pages
- Introduced AddInvoiceDialog component for creating new invoices with client selection and form validation.
- Updated CashflowPage to include dialogs for adding income, expenses, and transactions, improving user interaction.
- Enhanced ClientsPage with a dialog for adding new clients, streamlining client management.
- Improved InvoicesPage with a dialog for creating new invoices, facilitating better invoice management.
- Updated NetWorthPage to include dialogs for adding assets and liabilities, enhancing financial tracking capabilities.
2025-12-07 11:44:50 -05:00
1761931a73 Refactor and enhance various pages for improved UI and functionality
- Updated CashflowPage to streamline calculations and improve layout, including inline summaries for income, expenses, and savings.
- Refined ClientsPage to enhance client management with a more organized grid layout and improved client statistics display.
- Enhanced DebtsPage with a new view mode toggle and refined debt account presentation for better user experience.
- Improved InvoicesPage with a summary of overdue, sent, and draft invoices, along with a more detailed display of recent transactions.
- Updated NetWorthPage to include quick stats and a more visually appealing layout for assets and liabilities.
2025-12-07 11:25:31 -05:00
da62b92557 Add new asset and client management dialogs, update font dependencies, and enhance CSS styles
- Introduced AddAssetDialog, AddClientDialog, AddExpenseDialog, AddIncomeDialog, AddLiabilityDialog, and AddTransactionDialog components for improved asset and client management.
- Added support for new font sources: 'Funnel Sans' and 'Inter'.
- Updated CSS variables for better theming and adjusted font settings for improved readability.
- Refactored main entry point to include new font imports and ensure consistent styling across the application.
2025-12-07 11:21:19 -05:00
fef97da523 Enhance InvoicesPage with additional button for client management
- Added a secondary button for "Add Client" alongside the "New Invoice" button to improve user functionality and streamline invoice management.
2025-12-07 11:16:39 -05:00
afe17846f7 Add Cashflow feature to frontend-web
- Introduced CashflowPage component for managing income and expenses, including detailed summaries and transaction tracking.
- Updated App component to include routing for the new CashflowPage.
- Enhanced Layout component with navigation for Cashflow.
- Created Redux slice for cashflow management, including actions for income sources, expenses, and transactions.
- Integrated mock data for initial cashflow setup to facilitate development and testing.
2025-12-07 11:16:25 -05:00
043f0bd316 Enhance frontend-web with new features and dependencies
- Added new font support for 'Oxanium' and integrated Radix UI components including Dialog and Select.
- Updated CSS to set the default font to 'Oxanium Variable' and adjusted HTML font size.
- Introduced AddAccountDialog component for managing debt accounts, enhancing user experience.
- Refactored DebtsPage to utilize the new AddAccountDialog and improved account management features.
- Updated Redux store to support debt categories and accounts, including actions for adding, updating, and removing accounts.
- Mock data added for clients and invoices to facilitate development and testing.
2025-12-07 11:10:33 -05:00
bf00261e1d Update frontend-web dependencies and implement routing structure
- Added new dependencies: @fontsource-variable/geist, @radix-ui/react-separator, @radix-ui/react-tooltip, date-fns, react-router-dom, and recharts.
- Updated index.html to set the HTML class to "dark" for dark mode support.
- Refactored App component to implement routing with React Router, replacing the previous UI structure with a layout and multiple pages (NetWorth, Debts, Invoices, Clients).
- Enhanced CSS for dark mode and added depth utilities for improved UI aesthetics.
- Expanded Redux store to include net worth, debts, and invoices slices for comprehensive state management.
2025-12-07 10:49:43 -05:00
f1f0032bca Add initial frontend-web setup with React, TypeScript, and Vite
- Created a new frontend-web project structure with essential files including package.json, tsconfig, and Vite configuration.
- Added ESLint and Prettier configurations for code quality.
- Implemented basic UI components (Button, Card, Input, Label) with Tailwind CSS for styling.
- Established Redux store with user authentication slice and typed hooks for state management.
- Included a sample App component demonstrating the use of UI components and Redux store.
- Set up .gitignore to exclude build artifacts and dependencies.
2025-12-07 10:38:02 -05:00