SOAR Financial Dashboard is a comprehensive financial management application built with React, TypeScript, and modern web technologies. This responsive web application provides users with an intuitive interface to monitor their financial activities, manage card details, track transactions, and visualize spending patterns through interactive charts and statistics.
- Email:
soar@soar.com
- Password:
hire-me
PS: You can test the login with the other credentials to check ERROR HANDLE STATE.
- My Cards Section: View and manage multiple card details with balance information and masked card numbers
- Recent Transactions: Track incoming and outgoing transactions with detailed descriptions
- Weekly Activity Chart: Visualize daily deposit and withdrawal activities
- Expense Statistics: Breakdown of expenses by category using interactive pie charts
- Quick Transfer: Easily transfer funds to frequent contacts (UI implementation)
- Balance History: Track balance trends over time with interactive line charts
- Profile Management: Edit personal information including name, email, and address
- Preferences: Customize application settings
- Security: Manage account security settings
- Responsive Design: Fully optimized for mobile, tablet, and desktop devices
- Frontend Framework: React with TypeScript
- State Management: Zustand for efficient and simple state handling
- Styling: TailwindCSS with HeroUI components
- UI Components: Custom accessible components
- Charts: Chart.js for data visualization
- Routing: React Router for seamless navigation
- Form Handling: Custom form validation with accessibility support
- Animations: Framer Motion for smooth transitions
The application is fully responsive and optimized for:
- Mobile devices (320px and up)
- Tablets (768px and up)
- Desktops (1024px and up)
- Node.js (v16.0.0 or higher)
- npm, yarn, pnpm, or bun
- Clone the repository
git clone https://github.com/phantodev/soar-test-vite
cd soar-test-vite
- Install dependencies
npm install
# or
yarn install
# or
pnpm install
- Start the development server
npm run dev
# or
yarn dev
# or
pnpm dev
- Open your browser and navigate to
http://localhost:5173
The project uses a comprehensive testing approach to ensure code quality and reliability:
We use Vitest as the testing framework for React components, custom hooks, and services:
# Run all unit and integration tests
pnpm test
# Run tests in watch mode
pnpm test:watch
# Run tests with coverage
pnpm test:coverage
We use Playwright for E2E tests that simulate real user interactions across different browsers:
# Install browsers for Playwright
pnpm exec playwright install
# Run E2E tests
pnpm test:e2e
# Run E2E tests in UI mode
pnpm test:e2e:ui
src/__tests__/
: Unit and integration testscomponents/
: Tests for React componentshooks/
: Tests for custom hookspages/
: Tests for complete pagesservices/
: Tests for services and APIs
e2e/
: End-to-end tests with Playwright
npm run build
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
This project follows WCAG 2.1 guidelines to ensure accessibility for all users:
- Proper semantic HTML structure
- ARIA attributes where necessary
- Keyboard navigation support (including custom tab navigation)
- Focus management for interactive elements
- Color contrast compliance
The application follows a component-based architecture with clear separation of concerns:
- Components: Reusable UI elements
- Pages: Main application views
- Hooks: Custom React hooks for shared logic
- Store: State management with Zustand
- Utils: Helper functions and utilities
- Code splitting for faster initial load
- Lazy loading of non-critical components
- Memoization of expensive calculations
- Optimized asset loading
- Implemented custom keyboard navigation between form elements
- Created responsive charts that adapt to different screen sizes
- Built accessible form components with proper validation
- Designed a responsive layout that works across all device sizes
- Dark mode support
- Multi-language support
- Push notifications
- Transaction categorization with AI
- Budget planning features
Developed with ❤️ by Eduardo Burko - Phantodev
This project is licensed under the MIT License - see the LICENSE file for details.
If you are using pnpm
, you need to add the following code to your .npmrc
file:
public-hoist-pattern[]=*@heroui/*
After modifying the .npmrc
file, you need to run pnpm install
again to ensure that the dependencies are installed correctly.