/backend

뮤지컬 후기 아카이빙 서비스

Primary LanguageJava

PostMission Server

프로젝트 소개 및 실행화면

  • move to front
    • 소개와 실행화면 관련 내용은 front repository에 정리 돼 있습니다.

설치 및 구동 방법

git clone https://github.com/post-mission/backend.git
./gradlew build
java -jar [snapshot.jar]

인증관련

application.yml

보안상의 이유로 아래 파일은 빼놓고 소스코드를 올려 두었습니다. 아래 파일을 src > main > resources 밑에 추가해주시고 실행해주시면 됩니다.

MusicalController.java

public class MusicalController {
    private final String url = "http://www.kopis.or.kr/openApi/restful/pblprfr";
    private final String SERVICE_KEY = "KOPIS에서 발급받은 서비스 키";
    ...
  • MuscialController에서 KOPIS에서 발급받은 서비스키를 입력해주시면 됩니다.

erd diagram

erd

dependency

dependency

gradle 의존관계

implementation group: 'com.auth0', name: 'java-jwt', version: '3.18.2'
implementation 'org.springframework.boot:spring-boot-starter-security'

implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'mysql:mysql-connector-java'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'

implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2'
implementation group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2'

implementation 'org.springframework.boot:spring-boot-starter-mail'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'

implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-aws', version: '2.2.1.RELEASE'

implementation 'org.springframework.boot:spring-boot-starter-quartz'

서버 구조

server

배포 자동화

이미지

위와 같은 구조의 배포 자동화를 시도하였습니다.

팀원 및 역할 분담

  1. 강동석
  • quartz를 이용한 open api 자동 갱신
  • 게시판 및 티켓 관련 api 개발
  1. 배용한
  • 뮤지컬 정보 open api data 파싱 및 저장, 관리
  • 티켓 관련 api 개발
  1. 임형준
  • 회원 관련 api 개발
  • 배포 담당

프로젝트 진행 기록

JPA STUDY

jpa의 핵심 원리를 파악하고 사용하는 것이 중요하다고 생각해서 총 4회에 걸쳐서 스터디를 진행하였습니다.

이번 프로트에서의 기술적 목표

  1. 회원 인증(소셜 로그인, JWT) : spring security
  2. open api에서 받아오는 다량의 데이터 저장 및 필요 데이터 반환
  3. open api 데이터 갱신 자동화 : quartz
  4. 배포 및 배포 자동화 : nginx, jenkins, docker

coding-convention

간단한 코딩 컨벤션을 두고 프로젝트를 진행하였습니다.

이슈사항