A modern React-based frontend for the Paylo cryptocurrency payment gateway system.
- P2P Transfers: Send and receive Bitcoin, Ethereum, and Solana
- Merchant Dashboard: Accept crypto payments and manage business transactions
- Admin Panel: System monitoring and user management
- Real-time Updates: WebSocket integration for live transaction updates
- Responsive Design: Mobile-first approach with Material-UI
- React 18 with TypeScript
- Vite for fast development and building
- Material-UI (MUI) for component library and theming
- Redux Toolkit for state management
- React Router for navigation
- ESLint & Prettier for code quality
- Husky for Git hooks
- Node.js 18+
- npm or yarn
-
Clone the repository
-
Install dependencies:
npm install
-
Copy environment variables:
cp .env.example .env.development
-
Start the development server:
npm run dev
The application will be available at http://localhost:3000.
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLintnpm run lint:fix- Fix ESLint issuesnpm run format- Format code with Prettiernpm run format:check- Check code formattingnpm run type-check- Run TypeScript type checking
src/
├── components/ # Reusable UI components
├── pages/ # Page components
├── store/ # Redux store and slices
├── types/ # TypeScript type definitions
├── config/ # Configuration files
├── theme/ # Material-UI theme
├── utils/ # Utility functions
├── hooks/ # Custom React hooks
├── services/ # API services
└── assets/ # Static assets
See .env.example for all available environment variables:
VITE_API_BASE_URL- Backend API URLVITE_WS_BASE_URL- WebSocket URLVITE_APP_ENV- Environment (development/staging/production)- Blockchain network configurations
- Use TypeScript for all new code
- Follow the established folder structure
- Write meaningful commit messages
- Use Material-UI components when possible
- Implement proper error handling
- Add proper TypeScript types
This project uses:
- ESLint for code linting
- Prettier for code formatting
- Husky for pre-commit hooks
- lint-staged for staged file linting
Code is automatically formatted and linted on commit.
- Create a feature branch
- Make your changes
- Ensure tests pass and code is properly formatted
- Submit a pull request
This project is proprietary and confidential.