A Flutter app showcasing development skills for PNDLM's assessment.
Live Demo: https://pndlm-assessment.web.app/
This project follows the instructions provided in the pndlm/clockapp GitHub repository and aligns with the provided Figma design to meet all assessment requirements.
For a detailed side-by-side comparison of the design and implementation, view the Figma link.
- Built with Flutter 3.29.0.
- State management and dependency injection with Riverpod.
- Manage widget lifecycle and state with flutter_hooks.
- Network requests with dio and custom interceptors for authorization and token refresh.
- Routing and authentication redirection with go_router.
- Local storage with shared_preferences.
- Securely storing access and refresh tokens using flutter_secure_storage.
- Immutable data models and JSON serialization using built_value.
- Validate account input for a valid email format, phone number, or username, and ensure password meets minimum length requirements.
- Draw scalable clocks with CustomPainter and use Riverpod to reduce unnecessary rebuilds when the clocks tick.
- Support accurate timezone conversion using the timezone package.
- Custom app theme with consistent colors, typography, and input/checkbox styling.
- Automated deployment to Firebase Hosting via GitHub Actions.