본문 바로가기
BackEnd/Project

[SNS] Ch02. 개발 환경 구성

by 개발 Blog 2024. 9. 6.

공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다.

이번 장에서는 간단한 SNS 애플리케이션을 개발하기 위한 환경 구성을 살펴본다. 프로젝트를 효율적으로 관리하고, 협업을 원활하게 하기 위해 적절한 개발 도구를 선택하는 것은 중요하다. 또한, 프로젝트의 기술 스택을 명확히 정의함으로써 향후 개발 과정에서 발생할 수 있는 혼란을 방지하고 일관성을 유지할 수 있다. 본 포스팅에서는 SNS 프로젝트를 시작하기에 앞서, 필수적인 기술 스택과 개발 도구들을 설정하고 프로젝트를 시작하는 과정을 단계별로 정리한다.

 

기술 스택 

• Java 17

• Spring Boot 2.6.7

• Spring JPA

• Spring Security

• Gradle

• Lombok

• Github

• Junit5

• Kafka

• Postgresql

• Redis

• Heroku

• SSE

 

개발 도구

Source tree

Github 

  • 프로젝트를 관리할 원격 저장소를 GitHub에서 생성하여 버전 관리와 협업을 진행한다.

IntelliJ IDEA

.gitignore 파일 생성

실습

GitHub 리포지토리 생성

먼저, GitHub에서 프로젝트를 관리할 리포지토리를 생성한다.

SourceTree를 통한 클론

SourceTree를 이용해 GitHub 리포지토리를 로컬로 클론 한 후, IntelliJ에서 해당 프로젝트를 연다.

 

Spring Initializr에서 프로젝트 생성

https://start.spring.io/를 사용해 Spring Boot 프로젝트를 생성한다.

 

프로젝트 설정

생성된 스프링 부트 프로젝트를 다운로드하고 압축을 해제한 후, IntelliJ에서 프로젝트를 연다.

 

스프링 부트 버전을 2.7.6로 변경한다.

 

.gitignore 파일 생성

불필요한 파일이 GitHub에 올라가지 않도록 .gitignore 파일을 생성하고 프로젝트 루트에 추가한다.

https://gitignore.io/

에러 처리

서버를 실행하는 도중 "데이터베이스 URL이 없다는" 에러가 발생할 수 있다. 이는 JPA 의존성을 추가하면 Spring Boot가 자동으로 데이터베이스 설정을 하려고 시도하는데, 데이터베이스 연결을 위한 URL 설정이 없기 때문이다. 

 

이를 해결하기 위해 다음과 같이 설정을 수정한다.

package com.example.sns;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
public class SnsApplication {

	public static void main(String[] args) {
		SpringApplication.run(SnsApplication.class, args);
	}

}
  • 이 설정을 추가함으로써 Spring Boot는 데이터베이스 연결을 시도하지 않게 된다.

 

서버를 재시작한 후, 포트 8080으로 접속하면 기본적인 Spring Security 로그인 화면을 확인할 수 있다. 여기까지 진행하면 개발 환경 구성이 완료된다.

이번 포스팅에서는 간단한 SNS 애플리케이션 개발을 위한 환경 구성 과정을 다뤘다. GitHub와 SourceTree를 이용한 프로젝트 관리, IntelliJ로 프로젝트 설정, .gitignore 파일 생성 등 기본적인 환경 설정을 완료했다.