A modern, responsive financial dashboard built with React, TypeScript, Node.js, and Express. This application provides comprehensive financial management features including transaction tracking, analytics, and reporting.
- Modern UI/UX: Dark theme with responsive design
- Dashboard Overview: KPI cards, charts, and recent transactions
- Transaction Management: Full CRUD operations with search and filtering
- Analytics: Revenue, expenses, and profit/loss analysis
- Export Functionality: CSV export with customizable columns
- Real-time Search: Search across all transaction fields
- Responsive Design: Works on desktop, tablet, and mobile
- RESTful API: Complete API for all operations
- Authentication: JWT-based authentication system
- Data Management: Sample data integration with transactions.json
- Search & Filtering: Advanced search across all columns
- Export Services: CSV and JSON export capabilities
- Error Handling: Comprehensive error handling and validation
- React 18 with TypeScript
- Vite for fast development and building
- Tailwind CSS for styling
- Lucide React for icons
- Recharts for data visualization
- Date-fns for date manipulation
- Node.js with Express
- MongoDB (with Mongoose models)
- JWT for authentication
- CORS enabled
- CSV export functionality
project-financial/
βββ project/
β βββ src/ # Frontend source code
β β βββ components/ # React components
β β βββ context/ # React context providers
β β βββ services/ # API services
β β βββ main.tsx # Entry point
β βββ server/ # Backend source code
β β βββ routes/ # API routes
β β βββ models/ # Database models
β β βββ middleware/ # Express middleware
β β βββ data/ # Sample data
β β βββ server.js # Server entry point
β βββ package.json # Frontend dependencies
β βββ vite.config.ts # Vite configuration
βββ README.md
- Node.js (v16 or higher)
- npm or yarn
- Git
-
Clone the repository
git clone <your-repo-url> cd project-bolt-sb1-dkgxf71u
-
Install Frontend Dependencies
cd project npm install -
Install Backend Dependencies
cd server npm install
-
Start the Backend Server
cd project/server npm startThe backend will run on
http://localhost:3001 -
Start the Frontend Development Server
cd project npm run devThe frontend will run on
http://localhost:5173 -
Open your browser Navigate to
http://localhost:5173to view the application
- KPI Cards: Balance, Revenue, Expenses, and Savings
- Interactive Charts: Monthly revenue and expense trends
- Recent Transactions: Latest 5 transactions with user details
- Quick Actions: Navigation to different sections
- Search & Filter: Search across all columns (user_id, status, amount, date, etc.)
- Real-time Search: Instant results as you type
- Advanced Filtering: By type, category, date range
- CRUD Operations: Add, edit, delete transactions
- Export: CSV export with column selection
- Revenue Analysis: Monthly revenue trends and breakdown
- Expense Tracking: Category-wise expense analysis
- Profit/Loss: Comprehensive P&L statements
- Visual Charts: Interactive charts and graphs
The application supports comprehensive search across all transaction fields:
- User IDs:
user_001,user_004, etc. - Status:
Paid,Pending - Categories:
Revenue,Expense - Amounts: Any numeric value
- Dates: Formatted dates
- Transaction IDs: Any ID number
The application includes a comprehensive transactions.json file with 200+ sample transactions featuring:
- Multiple users (user_001 through user_004)
- Various transaction types (Revenue/Expense)
- Different statuses (Paid/Pending)
- Realistic amounts and dates
- User profile images
Frontend (in project directory):
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production buildBackend (in project/server directory):
npm start # Start production server
npm run dev # Start development server with nodemonGET /api/transactions/sample- Get sample transactionsPOST /api/transactions- Create new transactionPUT /api/transactions/:id- Update transactionDELETE /api/transactions/:id- Delete transactionGET /api/dashboard/overview- Get dashboard dataGET /api/export/transactions/csv- Export transactions as CSV
- Build the project:
npm run build - Deploy the
distfolder to your hosting service
- Set up environment variables
- Deploy to your preferred hosting service (Heroku, Vercel, etc.)
- 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, please:
- Check the existing issues
- Create a new issue with detailed information
- Include steps to reproduce the problem
Built with β€οΈ using React, TypeScript, Node.js, and Express