Skip to content

A Flutter app demonstrating development skills for the PNDLM assessment project.

Notifications You must be signed in to change notification settings

yun-cheng/pndlm-assessment

Repository files navigation

PNDLM Assessment

A Flutter app demonstrating development skills for the PNDLM assessment project.

Live Demo: https://pndlm-assessment.web.app/

Test account:

  • Username: emilys
  • Password: emilyspass

Assessment Overview

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.

Key Features and Technologies

  • 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 authentication 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.

Code Explanations

You can search for // ! in the codebase to find code explanations.

Todo List

About

A Flutter app demonstrating development skills for the PNDLM assessment project.

Resources

Stars

Watchers

Forks

Releases

No releases published