3232
3333## 🛠️ 사용 기술
3434![ Spring Boot] ( https://img.shields.io/badge/Spring%20Boot-6DB33F?style=flat-square&logo=springboot&logoColor=white )
35+ ![ Gradle] ( https://img.shields.io/badge/Gradle-02303A?style=flat-square&logo=Gradle&logoColor=white )
3536![ JPA] ( https://img.shields.io/badge/JPA-000000?style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxu...%29 )
3637![ Redis] ( https://img.shields.io/badge/Redis-DC382D?style=flat-square&logo=redis&logoColor=white )
3738![ MySQL] ( https://img.shields.io/badge/MySQL-4479A1?style=flat-square&logo=mysql&logoColor=white )
4546## 💡 시작하기
4647
4748### 사전준비
49+ - [ Git] ( https://git-scm.com/downloads )
50+ - Java Development Kit(JDK)
51+ - version : [ Java 17] ( https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html )
4852- 데이터베이스 준비
49- - MySQL
50- - Redis
53+ - [ MySQL] ( https://dev.mysql.com/downloads/mysql/ )
54+ - version : 8.0
55+ - [ Redis] ( https://redis.io/downloads/ )
56+ - version : 8.0
57+ - InteliJ IDEA
58+ - local에서 프로젝트 실행을 위해 필요합니다.
5159
5260- 부가 기능 api키 준비
5361 - spring.mail
62+ - 메일 발신자 아이디 (example@example.com 이면 example)
63+ - 메일 앱 비밀번호
5464 - kakao
65+ - 로그인을 위한 rest api key
5566 - cloudinary
67+ - api key
68+ - clode name
5669 - ai
70+ - gpt api key
5771
5872### How to Build
59731 . Repository 클론
@@ -62,24 +76,54 @@ git clone https://github.com/TEAM-ZIP/Backend.git
6276```
6377
64782 . .env
79+ - 전달받은 ` .env ` 파일을 사용하거나 직접 .env 파일의 환경변수를 설정합니다.
80+ - .env 파일의 위치는 src/main/resources입니다.
6581```
66-
82+ ai.base.uri = {ai 서버 주소}
83+ BOOKSTORE_CAFE_KEY = { 공공데이터포털 카페가 있는 서점 api key }
84+ BOOKSTORE_CHILD_KEY = { 공공데이터포털 아동 서점 api key }
85+ BOOKSTORE_INDEP_KEY = {공공데이터포털 독립 서점 api key}
86+ cloudinary.api_key = {cloudniary api key}
87+ cloudinary.api_secret = {cloudniary secret key}
88+ DB_PASSWORD = {MySQL DB 비밀번호}
89+ DB_URL = {MySQL url}
90+ DB_USERNAME = {MySQL DB name}
91+ jwt.secret = {60자 이상의 jwt 생성용 문자열}
92+ kakao.client.id = {kakao rest api key}
93+ kakao.redirect-uri = {kakao 로그인 용 redirect uri}
94+ mail.password = {메일 앱 비밀번호}
95+ mail.username = {메일 호트 이름}
96+ openai.api.key = {gpt api key}
97+ spring.redis.host = {redis 주소}
98+ spring.redis.port = {redis 포트 번호}
6799```
68100
691013 . 빌드
70102```
103+ cd Capstone-Backend
71104./gradlew build
72105```
73106
74107
75108### How to Install
76109- 서버 실행
77110```
78- ./gradlew
111+ cd build/libs
112+ nohup java -jar bszip-0.0.1-SNAPSHOT.jar &
79113```
80114
81115### How to Test
82116- 서버 실행 후, ` http://localhost:8080/ ` 에 접속
117+ - api test를 원하면, ` http://localhost:8080/swagger-ui/index.html#/ ` 에 접속하여 swagger를 통해 api 호출 테스트할 수 있음
118+ ![ image] ( https://github.com/user-attachments/assets/f4e6db4a-72a2-4081-9967-bfa285aca9ef )
119+ ![ image] ( https://github.com/user-attachments/assets/9c5b18dd-0494-4cca-91ea-77ea9606a048 )
120+
121+ - 프론트와 연동되어 테스트 진행 시, 프론트엔드 빌드/실행한 로컬 주소 혹은 [ 배포된 주소] ( https://bookstore-zip.site/ ) 에서 실제 이용하고 있는 api 호출 결과 확인 가능
122+ - 배포된 주소에서 다음과 같은 이메일과 비밀번호로 로그인 시 기존 데이터로 테스트할 수 있습니다.
123+ - email : user@example.com
124+ - password : password123
125+
126+
83127
84128---
85129## 👋🏻 Members
@@ -129,7 +173,13 @@ git clone https://github.com/TEAM-ZIP/Backend.git
129173├─ 📂 config ▶️ 전역 설정
130174└─ BszipApplication ▶️ 메인 애플리케이션 실행 클래스
131175```
132- <br >
176+
177+ - ` controller ` : HTTP 요청을 받아 처리하는 진입점
178+ - ` service ` : 비즈니스 로직 구현
179+ - ` repository ` : 데이터베이스에 접근하는 계층
180+ - ` domain ` : 데이터베이스 매핑을 위한 도메인 모델
181+ - ` dto ` : 요청/응답에 사용되는 데이터 전송 객체
182+
133183
134184## 📚 오픈소스
135185
0 commit comments