FZ : 빠르게 배송 조회

gozero·2022년 6월 28일
1

간단한 앱 소개

현재 택배 배송 상태를 확인 할 수 있는 앱
open API를 사용하여 제작하였습니다. 이 API를 제공해주신 분께 감사를 드립니다!
그리고 앱 디자인을 도와준 제 소중한 디자이너 친구에게도 감사를 드립니다.
https://tracker.delivery/guide


페이지 순서

  1. 스플래쉬 화면
  2. 택배사 선택 및 운송장 번호 입력 전
  3. 택배사 선택 및 운송장 번호 입력 후

운송장 번호 입력 시 코드

deliveryProvider!.deliveryLoading = true;

Timer(const Duration(milliseconds: 1 * 1000), () {
	deliveryProvider?.getDeliveryList(
		carrierId: _carrierId,
		trackId: _textEditingController.value.text,
	);
	deliveryProvider!.deliveryLoading = false;
});

Model 형식으로 데이터 받기

  • provider로 메소드로 데이터 API 호출
Future<void> getDeliveryList({String? carrierId, String? trackId}) async {
	_delivery = (await _deliveryApi.getMyDeliveryList(
		carrierId: carrierId!,
    trackId: int.parse(trackId!),
  ))!;
  notifyListeners();
}
  • 데이터를 Model 형식으로 넘겨 받기
Future<Delivery?> getMyDeliveryList(
{required String carrierId, required int trackId}) async {
	try {
		final url = "https://apis.tracker.delivery/carriers/$carrierId/tracks/$trackId";
    final response = await dio.get(url);
    return Delivery.fromJson(response.data);
  } catch (e) {
    log(e.toString());
  }
}

사용 패키지

  1. flutter_screenutil - 기기별 화면 사이즈를 대응하기 위해 사용
    https://pub.dev/packages/flutter_screenutil
  2. dio - API 통신을 하기 위해 사용
    https://pub.dev/packages/dio
  3. provider - 데이터 상태 관리를 하기 위해 사용
    https://pub.dev/packages/provider

구현 화면

  • 스플래쉬 화면
  • 운송장 번호 입력 전
  • 택배사 선택
  • 택배사 선택 및 운송장 번호 입력 후
profile
Flutter를 제일 좋아하는 앱 프론트엔드 개발자입니다!

0개의 댓글