Welcome to the KiwiBank Tech Assessment! This project presents a simplified version of our Bank Account Overview screen. Your task is to enhance its functionality by adding a few features:
Displays Available Balance: You'll see your current Travel Savings Account balance is displayed. The value at the moment is just hard-coded. Transaction History List: The app showcases a list of your past transactions, including the date, description, and amount. Date Filter Icon: A filter icon is present in the top app bar, but its functionality is not included in this initial project.
Implement the following functionalities:
- Calculate Balance: Accurately calculate and display the available balance based on the transactions.
- Date Filter: Add a date filter UI element (e.g., date pickers or text fields).
- Filter Transactions: When a filter is applied, update the transaction list to display only transactions within the specified date range.
- Update Balance: As transactions are filtered, recalculate and display the filtered balance.
- Reset Filter: Provide a way to reset the filters and view all transactions.
We'll assess your:
Functionality: How well your solution meets the requirements. Code quality: Your coding style, structure, and maintainability. Efficiency: The performance of your solution, especially with large datasets. Problem-solving: Your ability to understand the problem and create a solution.
Think of this assessment as a stepping stone within a larger product! Your goal is to showcase your production-level coding practices while demonstrating problem-solving abilities.
However, We recommend allocating no more than 4 hours for this assessment. If you find yourself exceeding this time, feel free to discuss your progress and any challenges you've encountered during the interview.
Feel free to:
Leverage appropriate technologies: Incorporate libraries or frameworks that enhance your solution. Customize your approach: Modify the code structure/data structure or use different techniques to align with your preferred style or problem-solving strategies.
We look forward to discussing your solution and learning more about your skills in the next round of interviews.
Good luck!