COM-DEV 기술설명서
✔️ 개요
✔️ Github 리포지터리
✔️ 사용된기술
⚓️ 버전관리
⚓️ 배포
♻️ 개발환경
🔥 서비스환경
🔱 기술 스택
✔️ 개발 현황
RQ-ID |
화면명 |
개발명 |
개발 내용 |
날짜 |
작성자 |
진행상항 |
RQ-0001 |
메인 |
상단 메뉴 구성 |
왼쪽상단 메인로고 클릭시 메인페이지로 이동 |
02.22 |
김채민 |
반영 |
RQ-0002 |
메인 |
상단 메뉴 구성 |
왼쪽상단 해/달 아이콘 클릭 시 라이트/다크모드 전환 |
04.01 |
김채민 |
반영 |
RQ-0003 |
공지사항 |
게시판 선택 메뉴 |
사용자를 대상으로 공지사항을 전달하는 게시판 |
02.24 |
김채민 |
반영 |
RQ-0004 |
자유게시판 |
게시판 선택 메뉴 |
자유로운 글을 게시하는 게시판 |
02.26 |
김채민 |
반영 |
RQ-0005 |
코드 질문 |
게시판 선택 메뉴 |
코드에 관한 질문 등을 게시하는 게시판 |
04.11 |
김채민 |
반영 |
RQ-0006 |
QnA |
게시판 선택 메뉴 |
사용자와 운영진과의 소통을 위한 게시판 |
04.11 |
김채민 |
반영 |
RQ-0007 |
회원가입 |
상단 메뉴 영역 |
원할한 서비스 이용을 위한 회원가입 |
02.28 |
김채민 |
반영 |
RQ-0008 |
로그인 |
상단 메뉴 영역 |
원할한 서비스 이용을 위한 로그인 |
02.29 |
김채민 |
반영 |
RQ-0009 |
검색 |
중간 영역 |
필요한 게시글을 찾기 위한 검색 기능 |
02.30 |
김채민 |
반영 |
RQ-0010 |
게시물 개수 |
상단 영역 |
현재 선택된 게시물 개수 시각화 |
03.02 |
김채민 |
반영 |
RQ-0011 |
댓글 |
하단 영역 |
각각 게시글의 대한 댓글 출력/입력 |
03.05 |
김채민 |
반영 |
RQ-0012 |
좋아요, 싫어요 |
중간 영역 |
글에 대한 사용자 선호여부 |
03.05 |
김채민 |
반영 |
RQ-0013 |
조회수 |
중간 영역 |
게시글 조회수 시각화 |
03.05 |
김채민 |
반영 |
📋️기능현황 표
구분 |
기능 |
구현 |
테스트 |
배포 |
사용자 |
회원가입 |
✔️ |
✔️ |
✔️ |
사용자 |
로그인 |
✔️ |
✔️ |
✔️ |
사용자 |
로그아웃 |
✔️ |
✔️ |
✔️ |
자유게시판 |
리스트 |
✔️ |
✔️ |
✔️ |
공지사항 |
리스트 |
✔️ |
✔️ |
✔️ |
QnA |
리스트 |
✔️ |
✔️ |
✔️ |
코드질문 |
리스트 |
✔️ |
✔️ |
✔️ |
전체메뉴 |
댓글 |
✔️ |
✔️ |
✔️ |
전체메뉴 |
수정 |
✔️ |
✔️ |
✔️ |
전체메뉴 |
삭제 |
✔️ |
✔️ |
✔️ |
전체검색 |
검색 |
✔️ |
✔️ |
✔️ |
기능 |
좋아요 |
✔️ |
✔️ |
✔️ |
기능 |
조회수 |
✔️ |
✔️ |
✔️ |
내 정보 |
마이페이지 |
✔️ |
✔️ |
✔️ |
내 정보 |
수정 |
✔️ |
✔️ |
✔️ |
✔️ ERD

✔️ 주요 폴더 및 파일
🐳 배포 구조
톰캣 구조도

톰캣 구성요소 개요
- 톰캣 : 스프링부트앱을 탑재할 수 있는 컨테이너, 여러개의 호스트를 추가할 수 있고, 설치직후에는 기본호스트만 존재한다.
- 기본호스트 : 설치직후에는 기본적으로 5개의 앱을 가지고 있다.
- 매니저앱 : 각 호스트마다 하나씩 존재, 자신이 속한 호스트에서 소속된 다른 앱들을 관리하는데 사용된다. 원격배포시에 사용된다.
- 호스트매니저앱 : 톰캣당 1개씩 존재, 호스트룰 추가, 삭제할 수 있다.
- docs앱 : 톰캣공식문서가 담겨있는 앱
- examples앱 : 톰캣예제소스코드가 담겨있는 앱
- 앱의 URL 구성 : 호스트/앱이름, 예를들어 기본호스트의 docs앱의 URL은 : https://tomcat.kchm.kr/docs 이다.
- 루트앱 : 호스트명만으로 구성된 URL로 접속했을 때 나오는 앱, 예를들어 comdev.kchm.kr 호스트의 루트앱 주소는 https://comdev.kchm.kr 이다.
- 보통 톰캣에 새로운 사이트를 추가할 때, 호스트매니저로 호스트를 추가한 후, 해당 호스트안에 루트앱만 추가한다.
- 호스트내에 이름이 같은 앱은 존재할 수 없다.
- 다만 병렬배포라고 해서, 버전을 달리하면 똑같은 앱이 하나의 호스트내에 여러개 존재할 수 있다.
- 이 상황에서는 사용자가 접근했을 때 톰캣이 버전이 높은 앱을 노출시킨다.
배포 중단배포 순서도

배포 무중단배포 순서도(톰캣의 병렬배포기능을 이용한)

서버 구조

🎨기능별 UI/UX
메인화면

로그인 (Dark mode)

로그인 (Light mode)

회원가입 (Dark mode)

회원가입 (Light mode)

게시물 작성 (Dark mode)

게시물 작성 (Light mode)

게시물 목록 (Dark mode)

게시물 목록 (Light mode)

게시물 페이지 (Dark mode)

게시물 페이지 (Light mode)

마이페이지 (Dark mode)

마이페이지 (Light mode)

회원정보 수정 (Dark mode)

회원정보 수정 (Light mode)

회원정보 수정(수정하기 버튼 클릭 시, Dark mode)

회원정보 수정(수정하기 버튼 클릭 시, Light mode)
