Implement Transactions Page
Implement the Transactions Page to display a list of the user's financial transactions, allowing them to view details, filter by categories (income/expenses), and set custom date ranges. This page will help users keep track of their financial activities and provide insights into their spending and income patterns.
Tasks:
- Implement backend API endpoints to fetch transaction data for a logged-in user.
- Ensure the ability to filter transactions by date range and category (income, expense).
- Create a clean, user-friendly interface to display transactions in a table.
- Include columns for date, amount, category/description.
- Implement a filter to allow users to select transaction categories (e.g., income, expense).
- Implement a date range filter (e.g., last 7 days, last 30 days).
- Ensure that if there are more than 10 transactions, pagination is available.
- Users should be able to navigate through pages of transactions.
- Ensure the frontend displays transaction data correctly by fetching it from the API.
- Verify that filters and pagination work as expected.
- Ensure the page is responsive and looks good on both desktop and mobile devices.
- Make sure the user interface aligns with the overall design of the application.
- Show appropriate error messages if the API request fails or returns no data.
- Handle cases where there are no transactions to display.
Acceptance Criteria: Transactions Display
- The Transactions Page must show a list of the user's transactions with the following details:
- Date of transaction
- Amount (formatted correctly as currency)
- Category (e.g., income, expense)
- Description (if available)
- Filters
- Users must be able to filter transactions by category (income, expense).
- Users must be able to specify a date range (e.g., last 7 days, last 30 days).
- Pagination
- If the user has more than 10 transactions, pagination should be visible to navigate through multiple pages of transactions.
- The user should be able to move between pages using next/previous buttons.
- Data Accuracy
- Transaction data fetched from the backend must be displayed accurately on the page.
- Filters must update the displayed transactions correctly based on the selected category and date range.