Skip to content

Tobbyvv/mobile-mart-payment

 
 

Repository files navigation

mobile-mart-payment

비교적 제품 수가 적고 간단한 '노브랜드'를 타겟으로 제작하였습니다. 마트에서 계산을 위해 줄을 서지 않아도 되며 소비자가 직접 결제까지 가능합니다. 지점 관리자는 웹 대시보드 형식으로 지점 관리가 가능합니다.

mobile-mart-payment

디자인과 안드로이드 Repository는 아래 링크에서 확인해주세요.

시연 영상

GIF 준비중입니다.

안드로이드 앱>

관리자 웹 대시보드>

주요 기능

총 40개의 API가 구현되었습니다. 정리된 API문서는 팀에게만 공개되어있으며 그 중 핵심 기능만 README에 나열합니다.

고객 - 안드로이드 App

  • 로컬 및 소셜 로그인이 가능
  • 상품 바코드 스캔을 통해 장바구니에 담을 수 있음
  • 장바구니 결제 가능

지점 관리자 - 관리자 웹 대시보드

  • 유저 및 상품 관리가 가능
  • 지정한 최소 재고량에 따라 본사에 자동 재고 요청
  • 일, 주, 월 단위로 매출 현황 확인 가능

ERD

ERD DB Columns

서버 아키텍처

무중단 scale-out이 가능한 blue/green 배포전략으로 구성했습니다.

server architecture

CI·CD

Github에 소스코드를 PUSH 혹은 PR하면 Jenkins가 소스코드를 가져와서 빌드합니다. 빌드 결과를 프로젝트 팀 Slack으로 알리고 배포 스크립트를 통해 서버에 배포합니다. 여러 개의 도커 컨테이너를 관리하기 위해 docker compose를 사용했습니다.

ci-cd architecture

개발환경

프론트엔드
  • React
  • Graphql
  • Apollo Client
  • Material-UI
안드로이드
  • RecyclerView
  • Retrofit2
  • HttpLoggingInterceptor
  • WebViewClient
  • Google Vision
  • BarcodeGraphic
  • CameraSource
  • GraphicOverlay
  • SharedPreference
  • 아임포트
백엔드
  • Spring Security
  • Spring Cloud
  • Oauth2 Client
  • jjwt
  • Graphql
  • nurigo
  • redis
  • MySQL(RDS)
  • Amazon S3
  • Swagger2 (정리된 API문서본은 별도로 팀 노션으로 관리)
  • nginx
  • jenkins
  • docker

팀원

전체

디자인 프론트엔드
limhyoyeon
임효연

cho-hyerim
조혜림

chaeyeonp
박채연

안드로이드 백엔드
ggj0418
이현준

gamjacode
김형주

alexjime
지민수

j00hyun
박주현

About

마트 자동 결제 시스템 (토이프로젝트)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 97.7%
  • Other 2.3%