1) 프로젝트 개요
NCP를 이용하여
간단한 미술품 경매 사이트를 만들었다.
이전 프로젝트(TIFY)에서 사용하던 AWS가 아닌
NCP를 이용했기 때문에
새로운 플랫폼에 대한 적응이 필요했다.
Picasso
경매 예정작 NEW more
picasso.jong1.com
1-1) 사용 언어 & 프레임워크
FrontEnd
Thymeleaf를 이용하여 서버사이드 렌더링을 사용하였기 때문에
컴포넌트 별 작업이 매우 어려웠다.
그런 이유로 Bootstrap을 적절히 활용하였고,
JS를 학습할 시간이 많지 않아 ajax를 사용하기 위해서는 jQuery를 사용해야 했다.
BackEnd
MyBatis를 쓰는 방법도 있었으나,
하나하나 쿼리를 짜고 객체를 매핑하는 방식은
짧은 기간 동안 해야 하는 프로젝트에는 맞지 않다고 생각하여
JPA를 채택했다.
Database
실제 DB 서버는 MySQL로,
가벼운 DB인 H2 DB는 로컬에서 테스트할 때 사용했다.
Tool
CI/CD 파이프라인을 구성할 때는 Github Action을 이용했다.
더 많은 기술을 접목시켜 보고 싶었으나,
위에서 계속 말한 것 처럼 시간이 부족해서... ㅠㅠ
1-2) 프로젝트 아키텍처
NCP의 Object Storage와 MySQL DB 서버를 이용했고
Github Action을 이용하여 CI/CD 파이프라인을 구성했다.
프록시 서버와 어플리케이션 서버를 분리하고 ssh로만 접속하게 하여
보안을 강화하였고 각 팀원의 로컬 환경, 프록시 서버에서
pem키를 이용한 ssh 방식으로만 접속이 가능하게 설정하였다.
1-3) ERD
간단한 어플리케이션이었고
시간이 부족하여 DB 테이블 자체를
최대한 간단히 구성하려 하였다.
DBDocs를 이용하였고
CI 과정에서 ddl 코드를 수정하면
자동으로 DBDocs에 반영되게 하였다.
이 부분에 대해서는 따로 포스팅으로 다루려 한다.
Picasso - dbdocs.io
Picasso DB스키마 구조
dbdocs.io
1-4) Git 주소
README에 대략적인 와이어프레임과 프로토타입, Git Convention이 명시되어 있다.
GitHub - donsonioc2010/picasso: temp name
temp name. Contribute to donsonioc2010/picasso development by creating an account on GitHub.
github.com
2) 주요 기술 & 관련 포스팅
'🎉 프로젝트 > 🍀 Naver Cloud' 카테고리의 다른 글
[NCP] public area - private area 간의 통신 가능하게 하기 with NAT Gateway (1) | 2024.01.30 |
---|---|
[NCP] 무중단 배포 환경 구축하기 with Jenkins (0) | 2024.01.15 |
[NCP] Oriental Unity 프로젝트 (0) | 2024.01.15 |
[NCP] Multipart 파일 업로드 with Object Storage (2) | 2023.10.02 |
[NCP] CI/CD 환경 구축 with Github Action, DBDocs (0) | 2023.10.02 |