SecureOrder는 사용자의 인증을 안전하게 처리하고, 메뉴 조회 및 주문까지 원활하게 관리하는 레스토랑 보안 앱입니다. 이 프로젝트는 안드로이드 애플리케이션과 백엔드 서버로 구성되어 있으며, 사용자 경험을 극대화하기 위해 OTP, eKYC(전자 신원 확인), 얼굴 인식, JWT 기반 인증을 포함한 다양한 보안 기능을 제공합니다.
- 로그인: 사용자는 이메일과 비밀번호를 통해 로그인하거나 OTP 인증을 통해 계정을 확인합니다.
- ID 인증: 사용자 신분증을 업로드하여 ID 인증을 완료합니다.
- 얼굴 인식: 사용자 얼굴을 인식하여 추가적인 보안 절차를 진행합니다.
- 메뉴 조회: 인증이 완료된 사용자는 레스토랑 메뉴를 탐색하고, 카테고리별로 메뉴를 확인할 수 있습니다.
- 주문: 사용자는 원하는 메뉴를 선택해 주문을 완료하고, 주문 내역은 서버와 동기화됩니다.
- JWT 인증 및 세션 관리: 사용자 로그인 및 토큰 발급
- OTP 인증: 이메일 기반 OTP 발송 및 검증
- eKYC 및 ID 인증: 신분증 업로드 후 OCR을 통한 신원 확인
- 메뉴 관리 API: 레스토랑의 메뉴 조회 및 주문 관리
- 주문 처리: 사용자의 주문을 처리하고, 주문 내역은 DB에 저장
- 언어: Kotlin, Spring Boot
- 데이터베이스: PostgreSQL
- 보안: Spring Security (JWT 인증)
- ID 인증: Tesseract OCR (신분증 검증)
- 얼굴 인식: OpenCV (얼굴 인식)
-
프로젝트 클론:
git clone https://github.com/yourusername/SecureOrder-Backend.git
-
PostgreSQL 데이터베이스 설정:
- PostgreSQL 설치 후
application.properties
파일에 DB 정보를 설정합니다.
- PostgreSQL 설치 후
-
백엔드 서버 실행:
./gradlew bootRun
-
API 문서 확인: Swagger를 통해 API 문서에 접근할 수 있습니다:
http://localhost:8080/swagger-ui.html