Git Product home page Git Product logo

deliverytrackingpublic's Introduction

DeliveryTracking Build Status

Develop environment & prerequisites

  • Ubuntu 16.04 LTS
  • backend - Spring-boot
  • frontend - html, jquery.js

Overview

택배 회사에서 제공하는 배송 정보를 송장 번호를 이용하여 수집 후 보여준다.

안정적인 서비스 제공을 위해 올바르지 않은 입력(송장 번호)에 대한 예외처리를 client, server에서 모두 수행하였음.

작성한 코드 중 일부(배송 조회 request에 대한 처리)가 잘 작동하는지를 junit을 이용하여 테스트

delivery_tracking_before

delivery_tracking_after

How To install & run

cd dt-server
# 서버 시작
./mvnw spring-boot:run

# 배포
./mvnw package
cd target
java -jar dt-server-0.0.1-SNAPSHOT.jar

구현 사항

기본 구현 사항

송장 번호가 주어질때 배송 내역을 택배 회사 홈페이지로부터 수집하여 보여준다.

URL 정보

  • GET: localhost:8080 - index.html
  • GET: localhost:8080/delivery-tracking - 배송내역 조회
구현 중점 사항

예외 처리: client, server에서 모두 처리

  • 주어진 송장 번호의 길이(우체국 택배의 경우 13자리)
  • 주어진 송장 번호의 양식(숫자로 이루어진 문자열 여부)

예외 처리: server에서 처리

  • 올바른 양식의 송장 번호일 경우라도 배송 내이 있는지
  • 올바른 양식의 송장 번호이고, 배송 내역도 존재하는지 아닌지

테스트(junit): server에서 처리

  • 올바른 길이, 양식의 송장 번호와 그렇지 않은 송장 번호에 대한 테스트를 DeliveryControllerTest 클래스에서 처리
  • 13자리 송장 번호와 13자리가 아닌 송장 번호를 무작위로 생성하여 테스트에 활용하였음

추가 구현 및 프로젝트 관리 아이디어

  1. 배송 중인 물품 추적
    • LINE chat bot 활용
    • 배송 중인 물품에 대해 변경상항이 발생할 때마다 사용자의 메신저로 알림
    • 사용자가 서비스를 편하게 이용할 수 있도록 함
  2. Jenkins, Travis CI(Continuous Integration) Tool 적용
    • 프로젝트 자동 빌드 (및 배포)를 통해 개발한 코드가 실제 서버에 올라갔을 경우에도 작동하는지를 확인할 수 있음
    • 프로젝트의 완성도를 높일 수 있으며, 관리가 쉬움.

deliverytrackingpublic's People

Contributors

so3500 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.