Skip to content

Delivery-9zo/delivery-app

Repository files navigation

📌 Delivery 9zo

📖 프로젝트 목적 및 상세

Delivery 9zo는 광화문 근처 음식점들의 배달 및 포장 주문 관리, 결제, 그리고 주문 내역 관리 기능을 제공하기 위해 개발되었습니다.
사용자는 온라인 주문과 매장 내 직접 주문을 모두 받을 수 있으며, 상품 등록 시 AI 문구 추천 기능을 활용할 수 있습니다.
또한, 초기에는 광화문 근처로 한정하여 운영되지만 향후 확장성을 고려한 지역 분류 시스템을 설계할 예정입니다.

주요 기능

  • 주문 관리: 배달 및 포장 주문을 관리하고 주문 상태를 실시간으로 업데이트
  • 결제 관리: 결제 정보 처리 및 주문 내역 확인
  • 상품 관리: 상품 등록 및 수정, AI 기반 문구 추천 기능 포함
  • 사용자 관리: 고객 타입에 따른 권한 분리 (가게, 손님, 관리자)
  • 지역 관리 및 확장성: 광화문 근처 지역을 시작으로 향후 확장이 가능하도록 설계

👥 팀원 역할분담

이름 역할 담당 업무
김기훈 👑 팀장/백엔드 개발 상점, 카테고리
박종민 백엔드 개발 보안/유저, AI, 주문상세
최해인 백엔드 개발 CI/CD, 리뷰, 메뉴
김민지 백엔드 개발 주문, 결제

🔧 기술 스택

백엔드

Java Spring Boot Spring Security

데이터베이스

Postgres

API 문서화

Swagger

CI/CD 및 배포

Docker Nginx GitHub Actions Amazon EC2

협업 및 프로젝트 관리

Jira

빌드 및 의존성 관리

Gradle

🚀 서비스 구성 및 실행 방법

배포 스크립트

#!/usr/bin/env bash
DEPLOY_PATH=/home/ec2-user/app/
DOCKER_COMPOSE_NAME=docker-compose.yml
docker compose -f $DEPLOY_PATH$DOCKER_COMPOSE_NAME up --build -d

Yaml

version: 0.0
os: linux

files:
  - source: /
    destination: /home/ec2-user/app

hooks:
  AfterInstall:
    - location: deploy.sh
      timeout: 60
      runas: root

🗃️ ERD (Entity Relationship Diagram)

아래는 주요 테이블 간의 관계를 나타낸 ERD입니다.

image

🗃️ 서비스 아키텍처 (Service Architecture)

서비스 전체 아키텍처는 다음과 같습니다.

image

  • API Gateway: Nginx를 사용하여 클라이언트 요청 라우팅
  • Application Server: Spring Boot 애플리케이션 서버
  • Database: PostgreSQL
  • CI/CD Pipeline: GitHub Actions 및 Docker를 통한 배포 자동화

📚 API 문서 (Swagger)

About

[스파르타] 9조 프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages