For local development:
- Copy
.env.example
to.env
- Update the values in
.env
as needed
For production deployment:
- Set up a GitHub Secret named
VITE_API_URL
with your production API URL - Ensure Netlify is configured to use this secret (see Deployment section)
- Clone the repository
- Run
npm install
to install dependencies - Set up the
.env
file as described above - Run
npm run dev
to start the development server
The project is set up for deployment on Netlify:
- Ensure you have a GitHub Secret named
VITE_API_URL
set to your production API URL - In Netlify, link the
VITE_API_URL
environment variable to the GitHub Secret - Netlify will automatically use the correct API URL during build and deployment
Note: The netlify.toml
file in the repository root configures the build settings and environment variable usage for Netlify.
- Card.tsx: Reusable component for displaying content in a card layout.
- Navigation.tsx: Navigation bar component for routing between different pages.
- TransferForm.tsx: Form component for handling money transfers between accounts.
- TransactionForm.tsx: Generic form component for deposit and withdrawal transactions.
- useTransaction.ts: Custom hook for managing deposit and withdrawal transactions.
- useTransfer.ts: Custom hook for managing transfer transactions.
- Home.tsx: Home page component displaying account overview.
- Deposit.tsx: Page component for handling money deposits.
- Withdraw.tsx: Page component for handling money withdrawals.
- Transfer.tsx: Page component for handling money transfers.
- Statement.tsx: Page component for displaying account statement and transaction history.
- api.ts: Service for handling API calls to the backend.
- ibanUtils.ts: Utility functions for IBAN generation and validation.
- tableUtils.ts: Utility functions for table operations (sorting, filtering) in the Statement component.
- validators.ts: General input validation utility functions.
- transaction.ts: TypeScript type definitions for transaction-related data.
- App.tsx: Main application component handling routing and layout.
- main.tsx: Entry point of the React application.