- mysql을 설치해 줍니다.
- 원하는 database name을 설정합니다.
application.properties
에 해당 정보들을 설정합니다.
- 인증 메일을 발송할 계정을 하나 생성합니다.
- 2단계 인증을 합니다.
- 앱 비밀번호를 생성해서 기록해 둡니다. [참고 도움말]
application.properties의
email
항목에 입력합니다.
- EC2와 S3 관련 설정을 끝내고 관련 정보를
application.properties
에 입력합니다.
.gitignore
에 등록되어 있기 때문에application.properties
가 포함되지 않습니다.application.properties.sample
을 복사해서application.proeprties
를 생성해서 사용합니다.
// application.properties
spring.r2dbc.url=r2dbc:mysql://localhost:3306/databaseName?characterEncoding=utf8
spring.r2dbc.username=mysql username
spring.r2dbc.password=mysql password
secret=jwt에 대한 secret입니다.
accessExpire=7200000와 같은 숫자값
refreshExpire=7200000와 같은 숫자값
# email
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=
spring.mail.password=
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
# aws s3 setting
cloud.aws.s3.bucket=
cloud.aws.credentials.access-key=
cloud.aws.credentials.secret-key=
cloud.aws.region.static=
cloud.aws.region.auto=false
cloud.aws.stack.auto=false
cloud.aws.s3.bucket.url=
cloud.aws.s3.bucket.my.download.url=
# thymleaf setting
# 로컬에서 front클라를 간단하게 띄워서 사용할 경우에 추가 합니다. 아니면 없어도 됩니다.
spring.thymeleaf.cache=false
spring.thymeleaf.enabled=true
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
.github
디렉토리 안의deploy.yml
,pullrequest.yml
에 설정값들이 존재합니다.https://github.com/{your-id}/{your-repository}/settings/secrets/actions
경로에서 아래의 값들을New repository secret
로 설정해 줘야 합니다. 해당 값들은 application.properties의 값들과 동일합니다.- 2개의 yml에 보면 github action 빌드 과정에서 application.proeprties를 동적으로 생성할 때 아래의 값들이
application.properties
에서 어떤 값으로 들어가는지 확인이 가능합니다. - 참고로
.github
안의 디렉토리 안의deploy.yml
,pullrequest.yml
를 삭제하면 아래의 값들은 설정할 필요가 없습니다.
// github action secret setting
MYSQL_DATABASE
MYSQL_USER
MYSQL_PASSWORD
TOKEN_SECRET
TOKEN_ACCESSEXPIRE
TOKEN_REFRESHEXPIRE
MAIL_USERNAME
MAIL_PASSWORD
# cloud.aws.credentials.access-key
CREDENTIALS_ACCESS_KEY
# cloud.aws.credentials.secret-key
CREDENTIALS_SECRET_KEY
AWS_ACCESS_KEY
AWS_SECRET_KEY
- commit lint를 좀더 쉽게 설정하기 위해서 husky를 사용했습니다.
- commitlint.config.js를 통해서 설정이 가능합니다.
# node.js와 yarn 이미 설치된 상황에서 진행합니다.
$ git clone https://github.com/dduckddack-coinTalk/app-user.git
$ cd app-user
$ yarn
- 저장소를 클론해서 받습니다.
$ git clone https://github.com/dduckddack-coinTalk/app-user.git
- intellij로 해당 프로젝트를 실행합니다.
- 우측 Gradle탭을 열어서 Reload All Gradle Projects를 한다음 그 위의 있는 ▶︎ 버튼을 클릭합니다.
유저를 생성하는 API
name | type | Description | Default |
---|---|---|---|
String | 유저 이메일 | ||
password | String | 패스워드 | |
nickName | String | 유저 닉네임 |
{
"status": "ok",
"message": "유저 생성 성공"
}
유저 로그인 하는 API
name | type | Description | Default |
---|---|---|---|
String | 유저 이메일 | ||
password | String | 패스워드 |
{
"status": "ok",
"message": "유저 로그인 성공",
"accessToken": "",
"refreshToken": "",
"userInfo": {
"id": 1,
"email": "test1@test.com",
"nickName": "test1",
"imagePath": "https://..."
}
}
유저 정보를 수정하는 API
name | type | Description | Default |
---|---|---|---|
String | 유저 이메일 | ||
password | String | 패스워드 | |
nickName | String | 유저 닉네임 | |
file | File | 유저 프로필 이미지 |
{
"status": "ok",
"message": "유저 변경 성공"
}
가입하려는 유저의 이메일에 대한 인증 요청하는 API
{
"status": "ok",
"message": "유저 인증 메일 발송 성공"
}
가입하려는 유저의 이메일에 대한 인증 결과를 확인하는 API
{
"status": "ok",
"message": "유저 생성 성공"
}