A Flutter task management application for code review and improvement.
This is a Flutter project that implements a basic task management system. Your objective is to review the codebase, identify areas for improvement, and implement better software engineering practices.
- Flutter SDK
- Dart SDK
- Your preferred IDE (VS Code, Android Studio, etc.)
# Navigate to the project directory
cd task_manager_interview_clean
# Install dependencies
flutter pub get
# Run the app
flutter runlib/
βββ main.dart # App entry point
βββ models/
β βββ user.dart # User model and hierarchy
β βββ task.dart # Task model
βββ interfaces/
β βββ user_operations.dart # User operations interface
βββ services/
β βββ user_manager.dart # User management service
β βββ notification_sender.dart # Notification service
βββ screens/
β βββ login_screen.dart # Login interface
β βββ home_screen.dart # Main task list view
β βββ create_task_screen.dart # Task creation form
βββ widgets/
βββ task_widget.dart # Task display component
Please review this codebase and:
- Identify code quality issues and areas for improvement
- Document your findings with specific examples
- Prioritize which issues should be addressed first
- Implement improvements for the most critical issues
- Explain your reasoning for the changes you make
Consider reviewing for:
- Code organization and responsibility separation
- Extensibility and maintainability
- Code duplication and reusability
- Dependency management and testability
- Adherence to software engineering best practices
The application includes:
- User authentication (use any email/password combination)
- Task list display with sample data
- Task creation functionality
- Basic user management
- Priority-based task organization
# Run tests (if any are implemented)
flutter test- The app is functional but may have architectural and code quality improvements that could be made
- Feel free to refactor, add tests, or implement additional features as you see fit
- Consider scalability and maintainability in your solutions