- 2018 SOPT 23기해커톤
- 프로젝트 기간 : 2018년 12월 22일 ~ 2019년 1월 12일
- API - (https://github.com/Concertrip/Concertrip_Server/wiki)
- 논리적 DB 모델링
-
어플의 소스코드가 하나의 프로젝트로 구성되어있으며 단일한 패티지로 배포되는 모놀리틱 아키텍쳐로 설계하였습니다.
-
보안적인 부분에서는 jwt토큰 기반 인증을 구현하였습니다.
- jwt토큰에 간단한 유저 정보를 넣어서 DB에 접근하는 횟수를 줄였습니다.
-
데이터 베이스는 몽고DB와 마리아 DB를 사용하였습니다.
- 가수와 콘서트 그리고 장르 이렇게 3개의 컬렉션들의 데이터들은 쌓아놓고 삭제가 없을 뿐더러 READ가 빈번하기 때문에 NoSQL이 적합하다고 생각했습니다.
- 사용하기 쉽고, 리소스를 많이 요구하는 애플리케이션에 맞춰 확장할 수 있는 몽고 DB를 선택하였습니다.
-
지금은 작은 서비스이지만 운영 시스템의 중요도, 리스크 등을 감안하고 서버의 안정성을 생각해서 개발서버와 운영서버 두개를 운영하였습니다.
- 개발 서버에서 거의 모든 환경이 운영과 같이 맞추어져 있어서 확인 후 운영쪽에 적용하였습니다.
<dependencies>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!-- AWS -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-aws</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<!-- DB -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
</dependency>
<!-- LOMBOK -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- JWT -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.11</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
소스코드는 Intellij + Windows10 + JAVA 1.8.0 + SpringBoot 2.1.1 환경에서 작성되었습니다.
- Spring Boot
- Intellij IDEA - 편집기
- Mysql - DataBase
- MongoDB - DataBase
- 권순재 - soonbee
- 김현진 - hyunjkluz
- 유현영 - You-hyeonyeong
기여자 목록을 확인하여 이 프로젝트에 참가하신 분들을 보실 수 있습니다.