This challenge is designed to assess your understanding of basic Flutter concepts and data fetching in a simulated Fintech environment.
Build a mobile application that displays a stock screener with stock data.
- Display a list of popular stocks with their company names and current stock prices.
- Allow users to set stocks as favourites for quick access.
- Implement a search bar to filter the displayed stocks by company name.
- Change the background colour of the stock price based on its change (e.g., green for positive change, red for negative change).
- Functionality of displaying pre-defined stock data and refreshing it on demand.
- User interface (UI) design for clear and informative display.
- Code quality and adherence to best practices (e.g., state management).
- Approach to handling bonus features (if attempted).
- Fork this repo
- Create a new branch
- Create a pull request to this repository with your solution
- Platform: Build the app for either iOS or Android.
- Data source: You can use a static list of provided stock data in
stocks.json
or a mock API call to simulate data retrieval. (Focus on UI and data handling, not real-time updates). - State Management: Consider using a state management solution like Stacked, Provider or Riverpod to manage the stocks.
- Testing: While optional, consider writing unit tests for critical functionalities.
- Documentation: Provide clear documentation on setting up the project and any additional instructions.
- Real-Time Updates: While not required, consider how to implement real-time updates using real-time API or WebSocket in the future
- Version Control with Git: Utilize Git for version control throughout the development process. Commit your changes regularly, preferably after each significant checkpoint or implementation of a feature. Aim for descriptive commit messages that provide context and clarity to the evaluators.
- Focus on building a clean and functional app with a user-friendly interface.
- Utilize resources like the official Flutter documentation for guidance on state management and data fetching.
- Leverage design resources such as dribbble or mobbin for a polished touch
- Don't hesitate to search online for solutions to specific challenges you encounter related to UI or data handling.
- Be prepared to discuss your approach to data management, UI design decisions, and how you might expand this app to integrate with a real-time API (if time permits).