전통적인 택배 배달 방식의 비효율과 환경 문제를 해결하기 위해 지하철을 활용한 배달 시스템을 제안한다. 이 시스템은 배달자와 고객 간의 만족도를 높이는 플랫폼으로 더 빠르고 효율적인 배달 서비스를 제공하는 것을 목표로 한다. 기술 스택에는 Google Maps API, Fast API, Flutter가 포함된다. 지하철을 이용한 배달 시스템 애플리케이션은 새로운 부가가치 창출과 효율성을 기대할 수 있다.
수도권 인구 증가와 도시화로 인해 택배 물량은 증가하고 있다. 특히, 코로나19 팬데믹 이후, 사람들은 외출을 줄이고 집에서 물건을 주문하고 받는 경우가 더욱 많아졌다. 이로 인해 택배 기업 들은 많은 배송차량을 운용중인데 이는 교통 체증과 대기 오염 등의 문제를 야기하며, 이는 장기적인 관점으로 보았을 때 옳지 못하다. 이에 따라, 전통적인 택배배송 방식보다는 보다 빠르고 효율적인 배송을 제공하는 방식이 필요하게 되었다. 이러한 문제들을 해결하기 위해 지하철 역을 활용할 수 있다. 지하철은 대중 교통 수단 중 많은 이들이 이용하는 수단 중 하나로 지하철 노선망은 수도권 각지로 확장되어 있다. 이러한 상황에서, 지하철을 활용한 택배시스템은 매우 효과적인 대안으로 자리 잡을 수 있다. 지하철 역을 중점으로 활용한 택배 시스템을 구축하여 전통적인 택배 배송 방식의 비효율성과 환경 문제를 해결함과 동시에 새로운 부가가치 창출을 기대할 수 있다.
클래스 다이어그램
딜리버 정보 입력 시퀀스 다이어그램
택배 정보 입력 시퀀스 다이어그램
택배와 딜리버 매칭 시퀀스 다이어그램
택배와 딜리버간 매칭은 아래와 같은 방식으로 이루어진다.
- 매니저가 데이터베이스에 택배를 생성한다.
- 데이터베이스에서 택배의 역과 일치하는 딜리버들을 검색한다.
- 검색된 모든 딜리버에 대해 다음 작업을 수행한다:
4. 딜리버가 선택한 시간과 택배의 시간 차이를 계산한다.
5. 딜리버 현재 위치의 위도와 경도를 가져온다.
6. 해당역과 딜리버 사이의 거리를 계산한다.
7. 딜리버의 평점을 가져온다.
8. 딜리버의 요청 받은 횟수와 수락 횟수를 가져와 수락률을 계산한다.
9. 점수를 계산한다:
- 현재 거리에 15의 가중치를 부여한다.
- 시간 차이에 10의 가중치를 부여한다.
- 딜리버의 별점에 5의 가중치를 부여한다.
- 딜리버의 수락률에 5의 가중치를 부여한다.
- 별점이 2점 이하인 딜리버의 경우 최종점수를 절반으로 조정한다.
- 수락률이 10% 이하인 딜리버의 경우 최종점수를 절반으로 조정한다. - 딜리버들을 최종점수를 기준으로 내림차순으로 정렬한다.
- 검색된 모든 딜리버에 대해 다음 작업을 수행한다:
12. 상위 10명의 딜리버들에게 택배 배달 요청을 보낸다.
13. 5초 대기한다.
14. 이미 다른 딜리버가 수락했는지 확인한다.
15. 해당 택배를 수락한 딜리버가 있을 시 반복문을 종료한다.
지하철을 활용한 택배 어플리케이션을 제공함으로써 택배 배송의 교통체증, 대기오염 등의 문제해결이 가능하고 기존보다 효율적이고 빠른 택배 배송도 가능하다. 더불어 새로운 부가가치를 창출할 수 있다. 사용자 인터페이스를 개선하고, 사용자 경험을 더욱 향상 시킬 수 있는 기능들을 추가할 수 있다. 예를 들어, 배송 예상 시간을 표시하는 기능이나 유저에게 효율적인 경로를 계산하고, 배송 시간을 단축시킬 수 있는 방법을 알려줄 수 있다. 그리고 현재 구현된 시스템의 성능을 향상시키는 방법을 고려해야 한다. 데이터베이스의 용량이 굉장히 증가했을 경우 쿼리 최적화 등을 통해 성능을 향상시켜야 한다
[1] https://mediahub.seoul.go.kr/archives/2005903
[2] GoogleMapsAPI: https://developers.google.com/maps?hl=ko
[3] FastAPI: https://fastapi.tiangolo.com/
[4] Flutter: https://flutter.dev/learn