- Check the screen recording below:
- News text is very small so we can't see the Sliver AppBar animation. I repeated the news text few times to get a longer text and see the app bar animation. Check the screen recording below:
- Clean Architecture
- Test Driven Development
- CI (Github Actions)
- Linter Rules
- SOLID principles
- State management with Riverpod
- Error handling with Dartz
- Responsive UI
- Android permissions (native android development)
- Basic Animations (Sliver App Bar)
-
Get your API keys from these API providers:
-
Create a Dart file called api_keys.dart under lib/core/configs/api folder (lib/core/configs/api/api_keys.dart)
-
Create 2 constant String variables named kNewsAPIKey and kOpenAIKey inside the api_keys.dart
-
Initialize your variables with your API keys
-
Run flutter pub get and all the errors caused by the missing file should disappear
-
Now you are ready to run the project 🎉
- Estimated Completion Time: 3-5 days Project Deadline: Please submit the project within 5 days of receiving the assignment.
- Overview: We're challenging you to create a news application that provides summarized news articles using the ChatGPT API. This assignment is designed to evaluate your ability to deliver high-quality work within an expedited time frame.
- User Interface:
- You can use the UI kits, we’ve shared.
- Intuitive UI with a home screen displaying a list of news articles.
- Include a detailed view for each article with its summary.
- Implement basic animations for UI elements to enhance user experience.
- News API Integration:
- Utilize a free public news API (e.g., NewsAPI, GNews API) to fetch a list of news articles.
- Display headlines, publication date, and a brief description for each article.
- Summarization with ChatGPT or any other free API you choose:
- Integrate the ChatGPT API to generate concise summaries for each news article.
- Use the free version of the API.
- State Management & Data Handling:
- Utilize a state management approach for managing app state.
- Implement error handling for API calls and edge cases.
- Unit Testing:
- Write unit tests for critical functions or logic in the application.
- Submission:
- Provide a GitHub repository with the codebase.
- Provide a functioning apk file
- Include a README file with clear instructions on how to run the application. Additional Resources:
- You can use a free public news API like NewsAPI or GNews API.
- Figma is free to use up to 3 projects and you can use the UI kits in the drive.