목록으로

Programming Notes

E-Market #1 - 프로젝트 시작 및 템플릿 자동화와 CI 스크립트 작성하기

안녕하세요. 오랜만에 블로그 글을 작성하는 것 같습니다! 그동안 CS와 알고리즘 공부에 매진하느라 스프링 프로젝트에 소홀했네요. 최근 캡스톤 디자인 프로젝트를 준비하면서, 앞으로도 계속 활용할 수 있는 새로운 프로젝트를 시작하게 되었습니다. 고민 끝에 예전에 블로그에 포스팅했던...

안녕하세요. 오랜만에 블로그 글을 작성하는 것 같습니다! 그동안 CS와 알고리즘 공부에 매진하느라 스프링 프로젝트에 소홀했네요. 최근 캡스톤 디자인 프로젝트를 준비하면서, 앞으로도 계속 활용할 수 있는 새로운 프로젝트를 시작하게 되었습니다. 고민 끝에 예전에 블로그에 포스팅했던 'Community' 프로젝트의 연장선상에서 'E-Market'이라는 전자상거래 플랫폼을 개발하기로 결정했습니다. 기존 Community 프로젝트의 아쉬웠던 부분들을 개선하고, 새로운 기술적 과제에도 도전해보고 싶었기 때문입니다. 실제로 많은 분들이 Community 프로젝트 포스팅을 참고해주셨는데, 이번 E-Market 프로젝트를 통해 더욱 발전된 기술과 구조를 보여드리고자 합니다. 이번 포스팅에서는 프로젝트의 시작과 함께 템플릿 자동화 및 Github Actions를 이용한 CI(Continuous Integration) 스크립트 작성 과정을 자세히 설명드리겠습니다.

이번 E-Market 프로젝트는 Spring Boot 기반의 전자상거래 플랫폼으로, 사용자, 상품, 주문 관리 기능을 포함합니다. 단순한 전자상거래 기능을 넘어, 사용자 간의 커뮤니티 기능도 통합하여 Community 프로젝트의 장점을 계승할 예정입니다. 프로젝트의 효율성을 높이기 위해 처음부터 템플릿 자동화에 집중했습니다. Spring Initializr를 활용하여 기본적인 프로젝트 구조를 생성하고, Maven을 통해 필요한 의존성들을 관리합니다. 여기서 핵심은 자동화된 템플릿을 통해 반복적인 작업을 최소화하고 일관성 있는 코드 스타일을 유지하는 것입니다. 예를 들어, 새로운 엔티티 클래스를 생성할 때, 필요한 어노테이션과 기본적인 메서드들을 자동으로 생성해주는 템플릿을 만들어 사용했습니다. 이를 통해 개발 속도를 높이고, 인적 오류를 줄일 수 있었습니다.

Github Actions를 이용한 CI 스크립트는 코드 변경 시 자동으로 빌드, 테스트, 배포 과정을 수행하도록 구성했습니다. 먼저, 코드가 push될 때마다 자동으로 Maven을 이용하여 프로젝트를 빌드하고 JUnit을 이용한 단위 테스트를 실행합니다. 테스트가 성공적으로 완료되면, SonarQube를 통해 코드 품질 분석을 진행하고, 결과를 Github에 표시합니다. 마지막으로, 테스트 결과가 성공적이라면 개발 환경에 배포하는 스크립트를 작성하여 자동 배포 시스템을 구축했습니다. Github Actions를 통해 지속적인 통합 및 배포 환경을 구축함으로써 개발 과정의 효율성을 높이고 안정적인 서비스 제공을 위한 기반을 마련했습니다. 실제로 CI 스크립트를 통해 개발 과정에서 발생할 수 있는 많은 오류들을 조기에 발견하고 수정할 수 있었습니다.

E-Market 프로젝트의 첫 번째 단계인 템플릿 자동화와 CI 구축을 마무리했습니다. 앞으로 상품 목록, 장바구니, 결제 등 핵심 기능들을 개발하고, 사용자 인터페이스를 구현할 예정입니다. 이 과정에서 새로운 기술과 도전적인 문제들을 만나더라도 꾸준히 블로그를 통해 진행 상황과 경험을 공유하도록 하겠습니다. 이번 프로젝트가 성공적으로 완료되어 Community 프로젝트를 뛰어넘는 더욱 발전된 전자상거래 플랫폼으로 거듭나기를 기대하며, 앞으로도 많은 관심과 응원 부탁드립니다.