A comprehensive finance tracking application with analytics, budgeting, and investment management features built with React, TypeScript, and Tailwind CSS.
- π Dashboard: Overview of financial health with charts and metrics
- π³ Bank Accounts: Manage multiple bank accounts and track balances
- π Transactions: Record and categorize income and expenses
- π― Budgets: Set and monitor spending limits by category
- π Investments: Track mutual funds and investment portfolios
- π Analytics: Detailed financial reports and insights
- π Dark/Light Mode: Toggle between themes
- π± Responsive Design: Works on desktop, tablet, and mobile
Before running this application, make sure you have the following installed:
- Node.js (version 16.0 or higher)
- npm (version 7.0 or higher) or yarn
- Git (for cloning the repository)
node --version
npm --version
git --versiongit clone <repository-url>
cd "Finance Tracking Application (1)"npm installThis will install all the required packages including:
- React 18.2.0
- TypeScript 5.0.2
- Tailwind CSS 3.3.3
- Framer Motion 12.23.12
- Radix UI components
- Recharts for data visualization
- And other dependencies
After installation, you should see a node_modules folder in your project directory.
npm run devThis command will:
- Start the Vite development server
- Compile TypeScript and process CSS
- Enable hot module replacement (HMR)
- Open the application in your default browser
The application will be available at:
- Local: http://localhost:5173
- Network: Available on your local network
npm run buildThis will:
- Compile and optimize the application
- Create a
distfolder with production-ready files - Minify JavaScript and CSS
- Optimize assets
npm run previewThis serves the production build locally for testing.
npm run lintThis will check your code for linting errors and warnings.
Finance Tracking Application (1)/
βββ public/ # Static assets
βββ src/
β βββ app/ # Main application components
β β βββ routes/ # Page components
β β β βββ landing/ # Landing page
β β β βββ dashboard/ # Dashboard page
β β β βββ accounts/ # Bank accounts page
β β β βββ transactions/ # Transactions page
β β β βββ budgets/ # Budgets page
β β β βββ investments/ # Investments page
β β β βββ analytics/ # Analytics page
β β β βββ settings/ # Settings page
β β βββ App.tsx # Main app component
β βββ components/ # Reusable components
β β βββ ui/ # UI components (buttons, cards, etc.)
β β βββ layout/ # Layout components
β β βββ common/ # Common components
β βββ lib/ # Utility functions and configurations
β βββ styles/ # Global styles
β βββ main.tsx # Application entry point
βββ index.html # HTML template
βββ package.json # Dependencies and scripts
βββ tailwind.config.js # Tailwind CSS configuration
βββ postcss.config.js # PostCSS configuration
βββ tsconfig.json # TypeScript configuration
βββ vite.config.ts # Vite configuration
βββ README.md # This file
The application uses Tailwind CSS for styling. Configuration is in tailwind.config.js:
- Custom color scheme
- Dark mode support
- Custom animations
- Responsive breakpoints
TypeScript configuration is in tsconfig.json:
- Strict type checking
- Path aliases for imports
- React JSX support
Build configuration is in vite.config.ts:
- React plugin
- Path aliases (@components, @lib, @features, @app)
- Development server settings
| Script | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run preview |
Preview production build |
npm run lint |
Run ESLint |
If you get a "port already in use" error:
# Kill processes on port 5173
npx kill-port 5173
# Or use a different port
npm run dev -- --port 3000If you encounter dependency issues:
# Clear npm cache
npm cache clean --force
# Delete node_modules and reinstall
rm -rf node_modules package-lock.json
npm installIf you see TypeScript compilation errors:
# Check TypeScript version
npx tsc --version
# Restart the development server
npm run devIf styles are not applying:
# Check if Tailwind is properly installed
npm list tailwindcss
# Rebuild the project
npm run buildThe application supports:
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Create components in the appropriate directory
- Use TypeScript for type safety
- Follow the existing code structure
- Add proper imports using path aliases
- Test in both light and dark modes
- Use TypeScript for all components
- Follow React best practices
- Use Tailwind CSS for styling
- Implement responsive design
- Add proper error handling
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License.
If you encounter any issues or have questions:
- Check the troubleshooting section
- Review the project structure
- Check the browser console for errors
- Ensure all dependencies are installed correctly
- Frontend: React 18.2.0
- Language: TypeScript 5.0.2
- Styling: Tailwind CSS 3.3.3
- Build Tool: Vite 4.4.5
- Animations: Framer Motion 12.23.12
- Charts: Recharts 2.7.2
- UI Components: Radix UI
- Icons: Lucide React
- Forms: React Hook Form
Happy coding! π