Finboard is a customizable financial dashboard application built with Next.js. It provides users with an interactive interface to create, manage, and visualize financial data through various widget types including charts, tables, cards, and financial lists. The application features a responsive grid layout, theme support, and real-time data querying capabilities.
- Customizable Dashboard: Drag-and-drop grid layout for arranging widgets
- Widget Types: Support for chart widgets, table widgets, card widgets, and financial list widgets
- Data Integration: API proxy for fetching financial data
- Theme Support: Light and dark theme options
- Responsive Design: Mobile-friendly interface using Tailwind CSS
- State Management: Efficient state handling with Zustand
- Type Safety: Full TypeScript support
- Framework: Next.js 16
- Frontend: React 19
- Styling: Tailwind CSS
- UI Components: Radix UI
- Charts: Recharts
- State Management: Zustand
- Data Fetching: TanStack React Query
- Layout: React Grid Layout
- Language: TypeScript
-
Clone the repository:
git clone <repository-url> cd finboard -
Install dependencies:
npm install -
Start the development server:
npm run dev -
Open your browser and navigate to
http://localhost:3000
- Upon launching the application, you will see the main dashboard interface
- Use the dashboard controls to add new widgets
- Select from available widget types: Chart, Table, Card, or Finance List
- Configure widget settings through the edit modal
- Arrange widgets on the grid by dragging and resizing
- Switch between light and dark themes using the theme provider
src/app/: Next.js app directory with pages and API routessrc/components/: Reusable UI components and widgetssrc/store/: State management with Zustandsrc/hooks/: Custom React hookssrc/lib/: Utility functions and API configurationssrc/types/: TypeScript type definitionssrc/config/: Application configuration files
npm run dev: Start the development servernpm run build: Build the application for productionnpm run start: Start the production servernpm run lint: Run ESLint for code linting
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and linting
- Submit a pull request