Ludium World BackEnd은 Spring Boot 3.1.x와 Java 17을 기반으로 구축된 백엔드 애플리케이션입니다. 이 프로젝트는 PostgreSQL 데이터베이스와 연동되며, Google OAuth2 인증을 지원합니다. 웹 애플리케이션 개발을 위한 다양한 Spring Boot 모듈을 활용하여 확장 가능하고 유지보수가 용이한 구조를 갖추고 있습니다.
이 프로젝트는 RESTful API 제공, 데이터베이스와의 상호작용, 비동기 웹 서비스 지원 및 OAuth2 인증 기능을 포함하는 백엔드 애플리케이션입니다. 주로 Spring Boot 프레임워크를 사용하여 개발되었으며, Google OAuth2 인증과 PostgreSQL 데이터베이스를 통해 강력한 사용자 인증 및 데이터 관리 기능을 제공합니다.
- Java 17 이상
- Gradle 7.5 이상
- PostgreSQL 데이터베이스
-
레포지토리 클론:
git clone https://github.com/Ludium-Official/ludium-world-back-end.git cd ludium-world-back-end
-
의존성 설치:
Gradle을 사용하여 프로젝트의 의존성을 설치합니다.
./gradlew build
-
환경 변수 설정:
application.properties
파일 또는 YAML 형식으로 설정 파일을 생성하여 PostgreSQL 데이터베이스와 Google OAuth2 인증을 구성합니다. -
애플리케이션 실행:
./gradlew bootRun
config/
: 애플리케이션 설정 파일이 위치한 디렉터리.gradle/
: Gradle 빌드 도구 관련 설정 파일.src/main/java/
: 주요 애플리케이션 코드.src/main/resources/
: 애플리케이션 설정 파일 및 정적 자원.src/test/java/
: 테스트 코드.
-
빌드:
./gradlew build
빌드 후,
build/libs/
디렉터리에.jar
파일이 생성됩니다. -
배포:
생성된
.jar
파일을 원하는 서버에 배포하여 실행할 수 있습니다.java -jar build/libs/프로젝트이름-버전.jar
- Java 17 이상: 백엔드 애플리케이션 개발 언어.
- Spring Boot 3.1.x: 웹 애플리케이션 및 마이크로서비스 개발을 위한 프레임워크.
- Spring Boot Starter Web: RESTful 웹 애플리케이션 개발을 위한 모듈.
- Spring Boot Starter WebFlux: 비동기 및 논블로킹 웹 애플리케이션 개발을 위한 모듈.
- Spring Boot Starter Data JPA: JPA를 사용한 데이터베이스 접근을 지원.
- PostgreSQL: 데이터베이스 관리 시스템.
- Gradle 7.5 이상: 빌드 자동화 도구.
- Checkstyle: 코드 스타일 검사 도구.
- JUnit 5: 테스트 프레임워크.
프로젝트에서 사용되는 주요 설정은 다음과 같습니다. 이 설정을 application.properties
또는 application.yml
파일에 추가하세요:
spring:
security:
oauth2:
client:
registration:
google:
client-id: your-google-client-id
client-secret: your-google-client-secret
provider:
redirect-uri: your-google-redirect-uri
provider:
google:
authorization-uri: https://accounts.google.com/o/oauth2/v2/auth
token-uri: https://oauth2.googleapis.com/token
resource-uri: https://www.googleapis.com/oauth2/v2/userinfo
datasource:
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://your-database-url/your-database-name
username: your-database-username
password: your-database-password
logging:
level:
root: INFO
org.springframework.security: DEBUG
기여는 언제나 환영합니다! 기여하려면 다음 단계를 따라 주세요:
- 이 레포지토리를 포크합니다.
- 새로운 기능 브랜치를 생성합니다 (
git checkout -b feature/YourFeature
). - 변경 사항을 커밋합니다 (
git commit -m 'Add some feature'
). - 브랜치에 푸시합니다 (
git push origin feature/YourFeature
). - 풀 리퀘스트를 엽니다.
이 프로젝트는 MIT 라이선스에 따라 제공됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.