Open jongpak opened 3 years ago
백엔드 학습을 진행하면서 얻은 지식들을 녹여 만든 Platanus BBS (게시판)
┌────────────────────────────────────────────────────────────────────────┐ │ Spring boot (tomcat) ┌───────────────────┐ │ │ │ Database │ │ │ └──────────▲────────┘ │ │ ┌───────┴──────┐ │ │ │ Repository │ │ │ └───────▲──────┘ │ │ ┌───────┴──────┐ │ │ │ Service │ │ │ └───────▲──────┘ │ │ ┌───────┴──────┐ │ ┌──────┐ ┌───────┐ │ ┌───────────────────────┐ ┌──────────────────────┐ │ │ │ │ USER ├──►│ nginx ├──►├──► LoginCheckInterceptor ├─► BoardListInterceptor ├─► Controller │ │ └──────┘ └───────┘ │ └───────────────────────┘ └──────────────────────┘ │ │ │ │ └──────────────┘ │ └────────────────────────────────────────────────────────────────────────┘
$ gradlew build $ java -jar build/libs/webboard-0.0.1-SNAPSHOT.jar
DB 연결정보는 환경변수에서 가져옵니다. 그래서 아래와 같이 환경변수가 세팅되어야 합니다.
export WEBBOARD_MARIADB_JDBC=jdbc:mariadb://localhost:3306/webboard export WEBBOARD_MARIADB_ID=webboard export WEBBOARD_MARIADB_PASSWORD=webboardPassword
스미카 정보는 src/main/resources/db.sql 파일에 위치합니다. 이 스키마를 이용하여 테이블을 생성할 수 있습니다.
src/main/resources/db.sql
mysql -u USER -p PASSWORD < src/main/resources/db.sql
깃허브 액션을 활용하여 지속적인 배포를 합니다. GitHub Secrets에 다음 변수 세팅이 필요합니다. 브랜치 머지가 되면 개발서버로 자동 배포를 합니다.
WEBBOARD_HOST
WEBBOARD_PORT
WEBBOARD_ID
WEBBOARD_KEY
Platanus BBS (http://bbs.canxan.com/)
백엔드 학습을 진행하면서 얻은 지식들을 녹여 만든 Platanus BBS (게시판)
💻 개발환경
🛠️ 기능구현
🔥 개발과정
💡 구조도
⚙️ 실행 & 배포
DB 연결정보
DB 연결정보는 환경변수에서 가져옵니다. 그래서 아래와 같이 환경변수가 세팅되어야 합니다.
스키마정보
스미카 정보는
src/main/resources/db.sql
파일에 위치합니다. 이 스키마를 이용하여 테이블을 생성할 수 있습니다.Github Actions (Continuous Deploy)
깃허브 액션을 활용하여 지속적인 배포를 합니다. GitHub Secrets에 다음 변수 세팅이 필요합니다. 브랜치 머지가 되면 개발서버로 자동 배포를 합니다.
WEBBOARD_HOST
WEBBOARD_PORT
WEBBOARD_ID
WEBBOARD_KEY