인스타그램 서비스를 클론 코딩하는 프로젝트입니다.
곽동운 | 김형욱 | 김병연 | 박진형 | 박혜빈 |
Product Owner | Scrum Master | Developer | Developer | Developer |
Java 17
Gradle 7.4.2
Spring Boot 2.7.0
MySQL
JPA
JUnit5 / Mockito
Swagger
Flyway
Thymeleaf
Jira
Notion
Slack
Git
Mermaid js
어떠한 환경에서도 개발 환경을 구축할 수 있도록 하였습니다.
도커 설치 후에 아래의 소개 페이지로 가시면 간단한 명령어와 함께 로컬 환경을 구축할 수 있습니다.
🐳 도커 설치 방법
도커 맥 설치 페이지 / 도커 윈도우 설치 페이지
각각 환경에 맞게 위의 페이지에서 설치 후에 사용 가능 합니다.
🧑🏻💻 명령어 사용 방법
# 1. 먼저 infra 폴더로 이동해주세요.
# 2. setup을 실행해주세요. (최초에 한번만 실행하면 됩니다!)
./setup
# 3. 이제 사용하는 목적에 따라 각각의 실행 스크립트를 실행해주세요.
# Mysql
./mysql
# Redis
./redis
# Sonarqube
./sonarqube
🫥 Container 폴더 설명
# 백그라운드 실행 방법
# 각 **_container 의 `start` 스크립트 실행
# ex) Mysql
./mysql_container/start
# 종료 방법
# 각 **_container 의 `stop` 스크립트 실행
# ex) Mysql
./mysql_container/stop
# 삭제 방법
# 각 **_container의 `remove` 스크립트 실행
# ex) Mysql
./mysql_container/remove
🌐 웹 링크
* Sonarqube
http://localhost:9001
* user: admin
* password: admin
* mysql
http://localhost:8082
* user: root
* password: password
* Redis
http://localhost:8081
프로젝트 루트 경로에 위치하도록 합니다.
.env
MYSQL_USERNAME= #로컬 환경의 MySQL 유저네임을 입력합니다.
MYSQL_PASSWORD= #로컬 환경의 MySQL 패스워드를 입력합니다.
SHOW_SQL= #true 혹은 false로 입력합니다.
ENCRYPTOR_KEY= #암호화 키를 입력합니다.
git hook을 프로젝트 내에서 공유할 수 있도록 합니다.
node가 없다면
brew install node
설치
npm install
Submodule Repository - https://github.com/instakyuram/instakyuram-config private 저장소로써, 권한이 없다면 접근 불가능 합니다.
서버의 민감 정보를 메인 프로젝트에 포함하고 그대로 Git에 노출한다면 악용될 가능성이 있습니다. 이러한 문제들을 해결 하기 위해 Private 한 저장소에 서버의 민감 정보(설정파일, 비밀 키 등)를 저장하고 프로젝트에 Submodule로서 관리해 안전하게 민감 정보를 관리할 수 있도록 했습니다.
Submodule에 대한 더 자세한 정보 및 사용법은 Instakyuram 기술문서의 Git Submodule을 참고 하세요.