이스트소프트에서 주관하는 부트캠프(명 : 오르미)에서 진행된 사이드 프로젝트 입니다.
Spring Boot를 활용하여 웹 커뮤니티 사이트를 구현하였습니다.
배포 URL : http://3.37.13.117:8080/
- 대은퇴 시대, 이직이 잦은 문화, 청년 실업자 등등 무직자를 위한 커뮤니티입니다.
- 다양한 연령층의 공통 관심사가 될 수 있는 무직 상태 에서의 고단한 일상/재취업/자산 관리 등의 컨텐츠를 공유합니다.
- 인증된 사용자들에 한하여 지역모임 컨텐츠를 제공합니다.
- 궁극적으로 사회적 고립, 혐오 문화, 세대 간의 갈등의 문제를 소통을 통하여 해결하도록 독려합니다.
- 박준석
- 김상형
- 이지현
- 2024.3.25(월) ~ 2023.04.5(금)
- 요구사항 분석
- 화면 구성 초안
- 데이터베이스 모델링 설계
- 구현
- 화면 디자인 완성
- 테스트
- 배포
- 발표 준비
- Language : Java 17
- Framework : SpringBoot 3.2.3
- Server : AWS EC2
- DataBase : AWS RDS - MySQL
- ORM : JPA, Spring data JPA, QueryDsl
- WS/WAS : Tomcat
- 회의 : Discord, Zoom, Notion
- 회원 가입
- 회원 가입 필요사항
- 아이디 : 20자 이상 불가, 이미 존재하는 아이디 중복 불가, 필수 입력
- 비밀번호 : 필수 입력
- 닉네임 : 20자 이상 불가, 이미 존재하는 닉네임 중복 불가, 필수 입력
- 생일 : 필수 입력
- 지역 : 필수 입력
- 자기소개 : 선택 입력
- 회원 등급 : 회원 가입 시 일반 회원(L1) 자동 부여
- 회원 가입 필요사항
- 로그인
- 로그 아웃
- 회원 탈퇴
- 회원 등급
- 일반 회원(L1), 인증 회원(L2), 관리자(ADMIN)
- 관리자(ADMIN) : /admin 페이지에서 닉네임으로 회원 조회
- 관리자(ADMIN) : /admin 페이지에서 회원 등급 변경 가능
- 일반 회원(L1), 인증 회원(L2), 관리자(ADMIN)
- 회원 정보
- 닉네임 / 지역 / 회원 등급 / 생일 / 이메일 인증여부 / 자기소개 게시
- 작성 게시물 수 / 작성 댓글 수 게시
- 본인이 작성한 게시물들 로딩, 해당 게시글로 이동 가능
- 회원 정보 수정
- 이메일 인증, 이메일 인증을 한다면 인증을 한다면 일반 회원에서 인증 회원으로 승격
- 회원 정보 수정 버튼을 통하여 정보 수정 가능
- 닉네임/비밀번호/지역/생년월일/자기소개 를 수정. 원하는 수정 사항만 기입하여 수정
- 작성
- 작성 권한
- 일반 회원 : 자유 게시판 가능
- 인증 회원 : 자유 게시판 + 지역 게시판 가능
- 생성시간, 수정시간 표시
- 인증회원은 자유 게시판과 지역 게시판 중 선택하여 작성
- 작성 권한
- 조회
- 조회 권한
- 비 회원 : 모든 게시글 조회 불가, 로그인 화면으로 이동
- 일반 회원 : 메인(인기글 포함) + 자유 게시판
- 인증 회원 : 메인(인기글 포함) + 자유 게시판 + 지역 게시판
- ADMIN : 모든 페이지(관리자 전용 페이지 포함), 모든 글 조회
- 권한 없는 회원이 조회 시도 시 권한 없음을 게시
- 조회 수
- 자정 기준 하루 동안 하나의 게시글에 대해 한 회원당 한 번의 조회수 증가
- 페이징
- 자유게시판, 지역게시판
- 조회 권한
- 수정
- 수정 권한 : 본인
- 자유 게시판, 지역 게시판 수정
- 게시글 상세 - 수정 시간 표시
- 삭제
- 삭제 권한 : 본인
- 게시판
- 메인페이지 인기 게시판
- 모든 게시글 중 게시글 추천 수 비교, 동률 시 게시글 조회 수 비교, 동률 시 댓글 수 비교 하여 내림차순 정렬
- 자유 게시판, 지역 게시판
- 최신 작성 게시글일 수록 상단에 위치
- 지역 게시판 조회 특수 기능
- 지역 버튼 클릭하여 해당 지역에 속하는 지역 게시판 게시글만 조회 가능
- 메인페이지 인기 게시판
- 작성
- 작성 권한
- 일반 회원 : 메인(인기글 포함) + 자유 게시판
- 인증 회원 : 메인(인기글 포함) + 자유 게시판 + 지역 게시판
- 생성 시간 표시
- 작성 권한
- 조회
- 최신 작성 댓글일 수록 상단에 위치
- 수정
- 수정 권한 : 본인
- 수정 시간 표시
- 삭제
- 삭제 권한 : 본인
- 게시글 추천
- 한 회원은 하나의 게시글에 대해 한번만 추천 가능
- 추천 버튼 클릭하여 추천
- 버튼 재 클릭 시 추천 내역 검증 후 추천 취소
- 댓글 추천
- 한 회원은 하나의 댓글에 대해 한번만 추천 가능
- 추천 버튼 클릭하여 추천
- 버튼 재 클릭 시 추천 내역 검증 후 추천 취소
- 게시글이 등록되면 댓글 봇이 게시글의 내용을 확인하고 그에 맞는 댓글을 작성.
- 게시글이 수정되면 댓글 봇이 게시글의 내용을 확인하고 그에 맞는 댓글을 작성.
- 회원 이메일 인증을 요청 -> users Table 에 입력받은 이메일의 인증 내역이 없다면, 인증 코드 만들어 입력받은 이메일 주소로 전송하고 Verification Table 에 해당 회원의 PK, 인증 코드, 만료일을 저장.
- 코드 확인 버튼 클릭 -> 입력받은 인증 코드가 유효한지 확인하고, 유효하다면 이메일 인증을 활성화. 회원 등급이 인증 회원으로 바뀌고, 회원 정보에 이메일이 저장 + 인증 여부 true로 변경.
- 특정 패키지 하위 메소드 성공 여부 로깅, 실행 시간 측정 로깅
- 특정 패키지 하위 메소드 시작 여부 종료 여부 로깅
