API Documentation
고객에게 최적의 탐색을 제안하는 메뉴 서비스를 제공합니다.
- 목적에 맞는 타이틀과 링크를 제공합니다.
- 상위 메뉴를 이용하여 모든 하위 메뉴를 조회합니다.
- 최상위 메뉴에는 배너를 추가 노출할 수 있습니다.
- App 과 Front-end 개발자가 사용할 수 있는 REST API를 제공합니다.
- 인증이 필요한 요청과 인증이 필요하지 않은 요청을 적절하게 처리하며, 허용된 메서드와 헤더에 대한 접근을 제공합니다.
- 메뉴를 등록/수정/삭제 할 수 있어야 합니다.
- 상위 메뉴를 이용해, 해당 메뉴의 모든 하위 메뉴를 조회 가능해야 합니다.
- 최상위 메뉴에는 배너를 등록하여 추가 노출할 수 있습니다.
Spring Boot
애플리케이션으로 구성된 HTTP REST API 서버Amazon EC2
와Docker
를 사용한 배포Amazon RDS
를 이용한 DB 관리Amazon S3
를 이용한 이미지 리소스 관리- Docker image 빌드 시 테스트 자동화 구현
GitHub Actions
를 이용한 CI/CD 파이프라인 구성 및 백그라운드 배포 자동화 구현- Docker를 활용한 배포 및 이에 따른 환경 설정 코드 관리 용이
- [시스템 아키텍처 설계 개선] ec2 인스턴스에서 바로 jar 파일 배포 → ec2 내의 docker를 통해 배포
- 서비스 플로우 설명 및 Issue에 문서화한 내용을 기반으로한 피드백을 수용하여 UX 개선
Nginx
, Let's Encrypt를 활용한https
적용
- Gradle로 빌드합니다.
- Spring Boot 프로젝트 내에 Dockerfile을 만들고 Amazon EC2 인스턴스 내의 Docker를 사용하여 배포합니다.
- 해당 링크는 운영체제별(Mac, Windows) 웹서버를 로컬에서 실행시키는 방법을 설명하고 있습니다.
or - 예시 데이터가 포함된 웹서버를 배포해놨으니 API Documentation Link로 구현된 기능을 프로젝트 빌드 과정 없이 바로 테스트해보실 수 있습니다.
이 프로젝트는 클라이언트와의 통신을 위해 swagger Specification 2.0 및 Swagger UI를 활용합니다.
- implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
- implementation 'org.springframework.boot:spring-boot-starter-log4j2'
- implementation 'org.springframework.boot:spring-boot-starter-jdbc'
- implementation 'org.springframework.boot:spring-boot-starter-security'
- implementation 'org.springframework.boot:spring-boot-starter-validation'
- implementation 'org.springframework.boot:spring-boot-starter-web'
- implementation 'io.springfox:springfox-boot-starter:3.0.0'
- implementation 'com.amazonaws:aws-java-sdk-s3:1.12.470'
- compileOnly 'org.projectlombok:lombok'
- runtimeOnly 'com.mysql:mysql-connector-j'
- annotationProcessor 'org.projectlombok:lombok'
- testImplementation 'org.springframework.boot:spring-boot-starter-test'
- testImplementation 'org.springframework.security:spring-security-test'
Jaeuk Im |
---|
BACKEND |