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