Yogiyo Back-End Project
- backend
- java11
- gradle
- spring-boot 2.5.3
$ cd yogiyo
$ .gradlew clean build
https://prod.yogiyo-backend.shop
- 초기 프로젝트 생성 및 build.gradle 세팅
- EC2 서버 구축 및 보안 그룹 설정
- ERD 설계 시작
- 배포용 RDS 생성
- 도메인 및 서브 도메인 생성 후 서버 ip와 연결
- nginx에서 서브 도메인 분리(dev, prod)
- https 인증 적용(main, dev, prod + 리다이렉트 설정)
- 도메인 & 서브도메인 구입, 설정, https 인증 과정 Link
- ip 주소를 prod 도메인으로 리다이렉션
- 스프링 시큐리티 초기 설정
- JWT 설정 및 JWT Provider, Filter 생성
- ERD
- 공통 Reponse 처리 기능 추가
- 예외처리 기능 추가 및 예외처리 코드 Enum 생성
- Spring Security를 사용하는 Authentication 기능 추가
- 로그인, 회원가입 API 구현
- 형식적, 의미적 Validation 추가 및 고도화
- JWT Authentication 관련 Validation 추가
- Event 조회 API 추가
- Restaurant API 구현
- 특정 조건으로 가게 리스트 조회 API
- 페이징 된 전체 가게 조회 API
- 가게 세부 내용 조회 API
- 가게 관련 테스트 데이터 생성
- ERD : Event Table 추가
- 가게 상세 정보 API 호출 시 가게의 메뉴도 같이 조회할 수 있도록 기능 추가
- 자료 요청 시 Status를 확인하는 코드를 추가하여 유효한 자료들만 보낼 수 있도록 기능 추가
- 메뉴 상세 조회 API 구현
- 주문 생성 API 구현
- 오류 수정
- 잘못된 변수명
- JWT 토큰 유효시간
- application-key 관련 코드
- 주문 추가 오류
- ERD : Event Table에 isAd(TINYINT) 칼럼 추가
- 진행 중인 주문 조회 API 구현
- Account 관련 인증 리팩터링 (UserDetails로 Account 호출)
- 진행 중인 주문 조회 API 주문 메뉴 옵션 표시 수정
- ERD 보완 및 수정
- 진행 중인 주문을 주문처리하는 API 완성
- 주문 완료 Entity 및 관련 메서드에 주문 사용자 전화번호, 주소 추가
- Exception Status 수정 및 보안
- Feat 로그인 한 유저의 완료된 주문들 조회 API 완성
- ERD : CompleteOrders Table에 accountPhoneNumber(VARCHAR(45)), accountAddress(VARCHAR(45)) 추가
- 전체 카테고리, 메뉴 카테고리 조회 API 완성
- Enum Type에 관련된 오류 수정
- 카테고리로 가게 리스트 조회, 메뉴 리스트 조회 API 완성
- ERD : Category Table에 isFood(TINYINT) 추가
- 리뷰 생성 API 완성
- 리뷰 댓글 작성 API 완성
- 대댓글 생성 API 완성
- 소스 코드 보완
- JPA @OneToOne fetch 방식 변경
- 리뷰 생성 API 호출 URI, 호출 방식 변경
- 리뷰 가게의 사장님이 아닐 땐 리뷰 댓글 작성 시 Exception 처리
- 가게 리뷰 조회 API 완성
- 리뷰 조회 API 고도화
- 해시태그용 음식 이름 리스트 추가
- 전체 이미지 리스트 추가
- 가게 세부 조회 API 고도화
- 로그인한 상태에서 가게 세부 조회를 하면 계정의 찜 여부 데이터를 전송
- 인증된 계정에서 가게 좋아요 추가 or 취소 기능 API 완성
- Account Table 및 관련 Entity 수정
- 카카오 OAuth 로그인 기능 완성
- JSON Parser 라이브러리 추가
- 콜백 URL로 인가토큰이 전달된 후 카카오 로그인이 되는 기능
- ERD : Account Table에 KakaoId(BIGINT) 칼럼 추가
- 계정 SMS 인증 관련 라이브러리, 예외 Status Enum 추가
- SMS 전달 서비스와 프로젝트 연결
- SMS 인증 토큰 생성 API 완성
- 토큰으로 해당 계정 SMS 인증 처리 API 완성
- ERD : Account Table에 smsAuthToken(INTEGER), isSmsCertified(TINYINT) 칼럼 추가
- Naver Direction 5 API 서버에 적용 (두 좌표간의 최소 거리)
- Naver geocoding API 서버에 적용 (주소에 대한 좌표 출력)
- 좌표를 찾는 과정에서 유효한 주소가 아닐 때 Exception에 대한 처리
- 좌표 출력 API, 로그인 한 사용자와 가게의 거리 출력 API 완성
- 인증이 필요한 컨트롤러 메소드 URL 변경
- 주문 생성 오류 해결(DTO 생성자 사용)
- README에 ERD 최신화
👤 vividswan
- Website: vividswan.github.io
- Github: @vividswan
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Give a ⭐️ if this project helped you!
This README was generated with ❤️ by readme-md-generator