Skip to content

chickennight/TurtleLogistics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

S09P11A204

팀장만P래~

V1.3.2

<전체를 뒤엎을 변화>,<기능 수정, 기능 추가>,<버그, 내부 적 코드 보완>

기간

2023/07/04 ~ 2023/08/18

서비스 소개

Turtle Logistics

  • 물류 자동화 시스템

발표자료

추후 업데이트 예정

기능구현

  • IoT
    • 수신한 주문 데이터에 따른 상품을 컨베이어 벨트로 이동
    • 상품 갯수에 따른 피스톤 동작 횟수 입력으로 상품 이동
    • 카메라 모듈을 통해 QR을 인식하여 주문 데이터와 맞는 상품인지 확인
    • 주문 데이터의 주소에 따른 가름막 작동으로 분류
    • 분류가 주소에 알맞게 되었는지 가름막의 센서로 확인 후 정보 전송
  • Web
    • 관리자 / 사용자 회원가입, 로그인, 로그아웃
    • 기간별(1주, 1개월, 3개월, 6개월, 1년) 주문 건수 그래프
    • 지역별(광역시, 도) 주문 상황 조회 지도
    • 현재 주문 접수, 분류, 배송 상황에 따른 집계 그래프
    • 분류 시스템의 오류 현황 로그 조회
    • 오류 발생 지점을 파악하는 단면도 조회
    • 공정 전체 과정을 관찰하는 CCTV 시스템
    • 공정 작동
  • DB
    • DB 최적화 인덱싱 작업을 통해 약 500만개의 데이터에서 빠르게 물류 데이터를 조회
    • 집계 그래프를 위한 주문 접수, 분류, 배송 상황 정보

팀원 소개 및 담당 역할

  • OOO (팀장) : Frontend 메인, Backend 보조, 발표
  • chickennight (팀원) : Backend 메인, Frontend 보조
  • OOO (팀원) : Backend 메인, Frontend 보조
  • OOO (팀원) : IoT 개발
  • OOO (팀원) : 기구 개발
  • OOO (팀원) : IoT 개발

기술 스택

  • IoT : PyQT, AWS IoT Core, MQTT, OpenCV, C++, Python
  • Frontend : Vue.js, JS
  • Backend : Java, Spring Boot, Spring Security, MySQL, JPA
  • Infra : Jenkins, AWS EC2, NginX, Docker, Certbot

DETAIL

0. Conventions

  • git commit message

    type: Subject 형태로 작성하기

    type

    • [feat]: A new feature
    • [fix]: A bug fix
    • [docs]: Changes to documentation
    • [style]: Formatting, missing semi colons, etc; no code change
    • [refactor]: Refactoring production code
    • [test]: Adding tests, refactoring test; no production code change
    • [chore]: Updating build tasks, package manager configs, etc; no production code change

    Subject

    • 50자를 넘기지 말 것
    • 대문자로 시작하며 마침표는 적지 않을 것
    • 명령조로 말할것. 예를들면 changed, changes 가 아닌 change
    • 메인 커밋 메세지에 []를 통해서 표시해주기
  • GitLab branch 전략

    • master : 제품으로 출시될 수 있는 브렌치. 최선의 상태 유지
    • study : 프로젝트 기간동안 공부한 내용을 각자 정리하는 브렌치
    • dev : 개발과정에서 fe/be/iot의 코드를 모아 빌드하여 테스트 하는 브렌치
    • feature/(fe, be, iot)/기능명 : 해당 기능 구현을 진행할 때 사용하는 브렌치
    • hotfix : master의 문제를 해결하기 위한 브렌치
  • Jira

    • 이슈생성
    • 월요일에 주 단위 스프린트 이슈들을 생성
    • 일주일에 40시간 이상 이슈 생성 및 처리
    • 이슈 완료
    • 하나의 티켓은 되도록 하나의 커밋으로 처리
  • Style Guide

    FE

    • var대신 const, let 사용하기
    • 가능한 Arrow Function 사용하지 않기
    • 변수명 : file_scope 상수는 UPPER_SNAKE_CASE, 그 외엔 camelCase. Boolean변수는 앞에 is 붙이기.
    • 클래스(생성자)명 : 파스칼 케이스를 이용한다. PascalCase
    • 클래스(HTML)명 : 케밥 케이스를 이용한다. kebal-case

    BE

    • 변수명, 인스턴스명: camelCase
    • 상수 변수명(static final): 대문자, 띄어쓰기는 _ 사용
    • 클래스명, 생성자명: PascalCase
    • 함수명: camelCase(동사 + 명사로 구성)
    • Mysql table, column name: snake_case

    IoT

    • snake_case

1. Planning & Design

  • 아이디어 정리 Subject.png
  • 와이어 프레임 image.png
  • ERDCloud

ERD_DIAGRAM.png

  • API 명세서 API_Image
  • 아키텍처

2. Development & Test

  • H/W Development

    • 피스톤

      vh.1

      piston_vh1 piston_vh11.png

      vh.2

      piston_vh2

      vh.3

      piston_vh3 piston_vh31
    • 컨베이어 벨트

      iv.1

      iv.2


      iv.3

    • 전체 공정
  • Jira를 통한 일정관리

    • 매 주 월요일에 주 단위 이슈를 생성하고 금요일까지 40의 Story Point를 완료함으로써 일정을 관리했습니다

    3week_jira 3주차 번다운 차트

    4week_jira 4주차 번다운 차트

    5week_jira 5주차 번다운 차트

    6week_jira 5주차 번다운 차트

  • Confluence를 통한 문서 작업 및 기록

3. Operation

  • Web
웹 페이지 주요 화면
웹 페이지 메인화면 관리자 페이지 메인화면
주문을 넣기 위한 사용자 페이지, 관리를 위한 관리자 페이지로 이동할 수 있습니다 주요 기능을 간소화하여 메인화면에서 한 눈에 보기 쉽습니다
기간별 주문 데이터 조회 지역별 주문 데이터 조회
일주일, 한 달, 세 달, 6개월, 1년의 주문 건수 데이터를 조회할 수 있습니다 도, 광역시별로 배송 현황을 조회할 수 있습니다
물류 분석 데이터 조회 공정 현황 조회
물류 재고와 소비량을 분석하여 나타냅니다 주요 공정의 현황을 나타냅니다
기기 제어 cctv
에러가 발생했을 시 단면도를 통해 확인하고, 비상 상황에서 전체 공정의 전원을 제어할 수 있습니다 CCTV를 통해 메인 공정을 실시간으로 확인할 수 있습니다
  • HW
HW 주요 작동 영상
주문 피스톤 작동 영상 상품 분류막 작동 영상
영상 추후 업로드 예정 영상 추후 업로드 예정

4. ETC

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published