/project_SYDER_server-repo

Service to prevent accidents by replacing delivery motorcycles with self-driving delivery robots with high accident rates on campus.(Server Project)

Primary LanguagePHP

SYDER_Laravel Project

Laravel Framework 6.18.3

Build Status Total Downloads Latest Stable Version License

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 의 요청 처리를 분산
  • RDS 생성 및 Laravel 기초 Migration 작성

[2020.03.08 ~ 2020.03.23]

  • Dev administartor page
- Admin register, login, logout
- Waypoint register, show, update, delete

[2020.03.24 ~ 2020.04.09]

- Admin & User register, login, logout       
- Apply request data validation(admin, user, wayponint)
- Integration and Cleanup api route

[2020.04.10 ~ 2020.05.03]

  • Code Refactoring
  • Summary of 'HTTP Response CODE'
- 200 : OK, PATCH, DELETE
- 201 : Created
- 422 : Validation Error
- 403 : Guard Error
- 401 : Auth Error
- 404 : Not Found
- 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)
- 주문 등록 갯수 초과 시, 오류 처리