Service to prevent accidents by replacing delivery motorcycles with self-driving delivery robots with high accident rates on campus.(Server Project)
PHP
SYDER_Laravel Project
Laravel Framework 6.18.3
About SYDER
아파트, 대학 캠퍼스 등 '도로 외 구역' 에서 업무용 배달 이륜차 사고가 증가함에 따라 사고 발생률을 줄이기 위한 프로젝트
차량 자율주행 시스템을 접목하여 일정 구역 내에서 운용 가능한 운행 시스템
Project progress
[2020.02.05 ~ 2020.02.10]
기초 아이디어 제안 및 구성
[2020.02.11 ~ 2020.02.19]
SYDER Project 진행방향 및 아이디어 기획
- Mobile, Web, Server, H/W Systme Architecture 작성
- 전체 스토리 진행 과정(Use case diagram) : 차량 호출 - 물건 배송 - 운행 중 - 물건 수령 - 운행 종료
- Front, Back System configuration 작성
Systems Architectrure
Use case diagram
System configuration
[2020.02.21 ~ 2020.02.23]
DB Configuration
[2020.02.24 ~ 2020.03.07]
Set Development Environment
EC2 인스턴스 생성 및 Nginx 설정
- Event-Driven 방식으로, 다중 요청 시 대처
- 관리자, 발신자, 수신자, 차량 Client 의 요청 처리를 분산
- Order Index : Index list of registered orders
- Order Check : Check orders in progress when the user app starts
- Order Show : Delivery order information when the order request
- Order Register : Register order information when the sender requests receiver consent
- Admin, User AuthCheck : Check Client Auth when page loading
- User Request : Receiver information response when sender input receiver phone number
Patch Client auth(need to add 'guard' request)
- admin : Waypoint Register, Update, Delete, Order Index
- user : Order Check, Show, Register, User Request
- admin & user : Waypoint Index, Logout, AuthCheck
[2020.05.04 ~ 2020.05.10]
Creating sequence diagrams
OrderShow feedback reflected
- After login, the server returns userInfo & waypoints & routes
- Modify vehicle assignment algorithm
- Order Consent Update : Update order status based on user consent
- Order Authentication : When the user proceeds with 'QR code authentication', check if it is a valid order
Classification of detailed order status
- The cart is stopping | 100 : Assignment completed / 101 : Receiver consent
- The cart is waiting | 200 : Wating at starting point / 201 : Waiting at arrival point
- The cart is moving | 300 : Moving to arrival point / 301 : Moving to starting point
- Order status | 400 : Order end / 401 : Order cancel / 402 : Receiver reject
- Etc | 900 : Waiting for cart assignment
[2020.05.10 ~ 2020.05.17]
차량 상태 코드 적용
- The cart is stopping | 110 : 미배정 차량 / 111 : 운행 예약
- The cart is waiting | 210 : 출발지 대기 중 / 211 : 도착지 대기 중
- The cart is moving | 310 : 도착지로 차량 이동 중 / 311 : 출발지로 차량 이동 중
- Etc | 910 : 차량 이상 발생
- 회원 로그인 시, FCM 을 입력 받고 Database 에 저장
- 발신자 요청 시, 수신자에게 동의 요청 알림 전송
주문 등록 과정 세부 알고리즘 보완 및 오류 수정
[2020.05.18 ~ 2020.05.25]
경로 관리, 주문 과정 API 추가
- Order Update : node.js를 통한 주문 상태 수정, 접근 클라이언트 인증
- Route Index / Register / Delete : 경로 조회, 추가(중복 검사 및 접근 클라이언트 인증), 삭제
- Order Consent Response : 수신자 응답에 따른 FCM 전송, 주문 상태 수정
API 수정 내역
- 전화번호 입력 후, 수신자 정보 요청(User Request) 시, 이름 정보 모자이크 처리
- Order Consent Update 삭제 (Consent Response 병합)
오류 및 기타 수정 내역
- FCM을 통한 Consent Request 동작 과정(Consent Activity 추가) 수정
- Order Consent Request / Response 시, 주문 등록된 주문 정보 없을 시 오류 처리
- Request 데이터, 주문 상태 코드 수정(102 -> 402)
- 주문 등록 갯수 초과 시, 오류 처리