구현기능 |
Spring을 베이스로 한 프로젝트 구성
- 초기 화면 : 기본적으로 비로그인 이용이 불가능하기 때문에 초기 화면에는 회원가입과 로그인, ID/PW 찾기 기능을 제공한다.
- 로그인 페이지 : 회원이 로그인을 하게 된다. 단, 다음 카카오, 구글, 페이스북, 네이버 로그인 API를 활용하여 다양한 로그인을 제공하며, 가입되지 않은 계정일시 회원가입 페이지로 이동된다. 이 경우엔 이메일 인증이 필요하지 않다.
- 회원가입 페이지 : 간단한 정규식을 통하여 이메일, 닉네임의 중복을 체크한 후 이메일(ID), 비밀번호, 닉네임, 생년월일, 휴대폰 정보를 입력받아 SMTP를 이용한 이메일 인증을 거친 후 DB에 저장하며 회원가입을 하게된다.
- 아이디/비밀번호 찾기 : 회원이 입력한 아이디/비밀번호를 DB에서 조회해서 해당하는 메일로 정보를 전송해준다.
- 메인 페이지 : 카페(이하 마루)와 블로그(이하 나루)에 대한 정보들이 표시되며, 마루/나루를 새로 작성할 수 있다. 사용자가 선택한 카테고리(이하 채널)의 정보를 볼 수도 있고, 타임라인 알림을 통하여 자신과 관련된 새소식들을 확인할 수 있다.
- 알림 페이지(타임라인) : 사용자가 선택하거나 사용자가 봐야하는 알림들(마루 활동내역, 나루에 새로운 댓글 등.)을 모아서 표기해주는 페이지이다.
- 마이 페이지 : 회원 정보와 자신의 나루/마루를 관리하는 페이지. 기본적으로 개인 정보(비밀번호, 휴대폰 번호 등.)을 수정할 수 있으며, 선호 채널을 선택하거나 자신의 로그인 기록 조회 회원 탈퇴 등이 가능하다.
또한 나루/마루에서 자신이 쓴 글/댓글을 확인할 수 있으며 마루의 경우 가입 신청중이거나 초대받은 마루를 확인할 수 있고, 구매하고 사용한 포인트 내역을 조회할 수 있다.
- 게시판 : 공지사항과 Q&A게시판, FQA가 존재한다. 공지사항은 관리자만 작성할 수 있으며 댓글을 작성할 수 없고, Q&A게시판은 일반 유저가 작성할 수 있지만 답변은 관리자만 가능하다.
- 마루(밴드) 페이지 : 화면에 대표 사진과 마루의 이름, 그리고 관리 페이지로 이동할 수 있는 버튼이 있으며 가운데엔 게시글 리스트, 우측엔 사진첩(업로드된 사진들을 모아서 보는 기능)이 존재한다. 게시글은 무한 스크롤을 채택하여 페이징처럼 페이지를 넘기는 방식이 아닌 실시간 갱신 방식을 지원한다.
- 마루 관리 페이지 : 마루의 대표 사진, 이름, 멤버 관리, 테마 설정 등이 가능하다.
- 나루(블로그) 페이지 : 나루 주인의 닉네임과 나루 소개글을 볼 수 있으며, 사용자가 선택한 카테고리(메뉴)별로 글을 볼 수 있고, 마루와 마찬가지로 무한 스크롤을 사용한다. 글 작성자가 후원자만 볼 수 있는 게시글 부분을 작성할 수 있으며, 글을 보는 사람은 포인트를 결제하여 나루 주인을 후원함과 동시에 글을 확인할 수 있다.
- 나루 관리 페이지 : 기본적으로 마루 관리 페이지와 동일하지만, 자신을 후원중인 사람과 자신이 후원중인 사람을 확인할 수 있는 기능이 포함된다.
- 관리자 페이지 : 관리자가 사이트를 관리하는 페이지. 회원 관리, 회원들의 로그인기록 관리, 신고목록 관리, Q&A 목록 조회와 답변, 공지사항 등록/수정등의 관리가 가능하고 그 외에 포인트적인 부분(출금신청, 전체 결제 내역)을 확인할 수 잇다.
- 결제 페이지 : 사이트 내부적으로 사용하는 재화인 포인트를 구매할 수 있다. (i'mport api를 사용) |