프로젝트 가제 - Travelers
⦁ 컨셉
- 같이 여행을 갈 사람을 구하는 커뮤니티 형식의 웹 페이지
⦁ 참여인원
- 4명 : mh, js, jw, ej
⦁ 분담
mh(조장, 본인) :
1. 정보 공유 게시판 - 목록 띄우기, 글 작성, 수정, 삭제, 댓글, 검색, 해당 게시판 DB 관리
2. 로그인 - 아이디 찾기, 비밀번호 찾기, 비밀번호 암호화
3. 회원가입 - 입력받은 데이터 유효성 검사, 이메일 API 적용 후 이메일 인증 구현
4. 마이페이지 - 개인정보수정, 비밀번호 변경, 회원탈퇴
5. 어드민페이지 - 신고 글 관리
6. 게시판 신고 기능 구현
7. CSS 템플릿 적용 및 전체 기본 틀 작성
js:
1. 여행 리뷰 게시판 (목록 띄우기, 글 작성, 수정, 삭제, 댓글, 검색, 해당 게시판 DB 관리)
2. 게시판 웹 에디터 적용 (Smart Editor)
3. 게시판 추천 기능 구현
4. 마이페이지 - 여행 수첩 (다녀온 여행지 목록 띄우기, 추가, 삭제, 수정)
5. 담당 페이지 CSS 템플릿 적용
jw:
1. 동행 찾기 페이지 (목록 띄우기, 글 작성, 수정, 삭제, 댓글, 상세검색, 해당 게시판 DB 관리)
2. 동행 찾기 페이지 달력 기능 구현
3. 담당 페이지 CSS 템플릿 적용
ej:
1. 자유 게시판 (목록 띄우기, 글 작성, 수정, 삭제, 댓글, 검색, 해당 게시판 DB 관리)
2. 게시판 웹 에디터 적용 (Smart Editor)
3. 마이페이지 - 내가 작성한 글 목록
4. about 페이지
5. 담당 페이지 CSS 템플릿 적용
사용 언어와 프로그램
⦁ Java - Eclipse (Spring MVC Project로 진행)
⦁ JSP - EL, JSTL, JavaScript, JQuery
⦁ Oracle - Oracle SQL Developer
⦁ Apache Tomcat (Server)
사용된 프레임워크, 라이브러리 및 기능
⦁ Spring 프레임워크
⦁ Mybatis 프레임워크 - Oracle
⦁ Transaction : 하나의 논리적인 작업 단위를 구성하는 연산들의 집합
- 하나로 묶인 쿼리문 중 하나라도 실행에 실패시 롤백시킨다.
⦁ Ajax : JavaScript(JQuery)와 XML을 이용한 비동기적 정보 교환 기법 - JSON 형태의 데이터로 정보 교환
⦁ Java Mail API - 이메일 인증에 사용
⦁ 네이버 Smart Editor - 게시판에 사용, 이미지 업로드에 용이
⦁ Spring Security
Mybatis로 DB를 관리
Transaction 사용으로 에러 발생시 DB에 잘못된 데이터가 저장되는 것을 방지
Ajax로 비동기식 페이지 구현
Java Mail API로 이메일 인증 및 임시 비밀번호 발급 구현
Smart Editor를 사용해 이미지 첨부 및 글 꾸미기 기능 구현
Spring Security로 패스워드 암호화
기본 페이지 설계
⦁ ~~ => 기능별 나눔
- ~~ / 숫자) ~~ => 꼭 구현해야되는 상세기능이나 요소
숫자. ~~ => 보이는 페이지
⦁ 메인 페이지
⦁ 로그인 페이지
1. 로그인 기능
2. 아이디 찾기 페이지
3. 비밀번호 찾기 페이지 - 임시 비밀번호 이메일로 전송
4. 중복 로그인 막기
⦁ 회원가입
1. 이용약관 동의 페이지
2. 회원가입 양식 페이지 - 모든 데이터에 대한 유효성 검사 구현, 모든 데이터 반드시 기입
1) 아이디 - 중복확인, 5자 이상의 영어 소문자, 숫자 사용 가능
2) 비밀번호 - 영어 대소문자, 숫자, 특수문자 전부 사용 / 비밀번호 암호화 구현
3) 닉네임 - 중복확인, 한글, 영어, 숫자 사용 가능
4) 이메일 - 중복확인(아이디, 비밀번호 찾기에 사용되기 때문에 유일값이어야 함),
이메일 API을 이용한 인증코드 전송
5) 성별 - 여자, 남자
6) 생년월일 - 여행에 대한 안전성을 위해 성인만 이용가능하게 제한 (2001년생 이전의 출생자)
3. 가입 완료 페이지
⦁ 마이페이지 / 어드민페이지
- 로그인한 계정이 Admin 계정이라면 어드민 페이지로 표기
1. 회원 정보 수정 페이지 - 기능 사용 전 사용자 본인 확인을 위해 비밀번호를 확인
2. 회원 비밀번호 변경 페이지 - 기능 사용 전 사용자 본인 확인을 위해 비밀번호를 확인
3. 회원 탈퇴 페이지 - 기능 사용 전 정보가 다 사라짐에 대한 동의를 구하고,
사용자 본인 확인을 위해 비밀번호를 확인 후 회원 탈퇴 진행
4.여행 수첩 페이지 - 사용자가 다녀온 여행에 대한 간단한 기록하는 페이지. 여권 형식으로 UI를 구현
5. 본인이 작성한 글을 한번에 보는 페이지 / 어드민의 경우 : 공지, 이벤트 글 관리 페이지로 표기
6. 현재 정보를 확인 할 수 있는 페이지
7. 어드민 전용 신고 글 관리 페이지
⦁ 여행 동행 찾기 페이지
- 다른 게시판들과 다른 모양으로 글 목록 띄우기, 글 작성, 수정, 삭제, 댓글, 검색 기능
- 웹 에디터를 이용한 글 작성 구현 (Smart Editor를 이용한 이미지 업로드 기능 및 글 꾸미기))
- Ajax를 이용한 비동기식 댓글 기능 구현
1. 글 목록 페이지
1) 상세 검색 기능 - 선택한 체크박스에 해당하는 글 검색
2) 글 목록
3) 달력에 동행 찾는 중인 아이디(글) 띄우기
2. 글 작성 페이지
- 체크 박스로 여행 조건에 대한 항목 선택 후 검색
⦁ 게시판
- 리스트 형식으로 글 목록 띄우기, 글 작성, 수정, 삭제, 댓글, 검색 기능
- 웹 에디터를 이용한 글 작성 구현 (Smart Editor를 이용한 이미지 업로드 기능 및 글 꾸미기))
- Ajax를 이용한 비동기식 댓글 기능 구현 (댓글 삭제 시, '삭제된 댓글입니다'라고 표현)
- 로그인한 계정이 일반 유저일 경우와 관리자일 때를 구분
- 상단에 Admin(관리자)가 작성한 글은 강조해서 표시
- 추천, 신고 기능 구현
1. 여행 정보 공유 게시판 (태그 : 맛집, 관광지, 이동수단, 숙박)
2. 여행 리뷰 게시판
3. 자유 게시판
* 로그인한 계정이 Admin(관리자)일 경우
1) 글 상세보기 페이지에서 모든 댓글을 삭제할 수 있게 구현. 대댓글도 같이 삭제되게 구현.
(일반 유저가 댓글 삭제 했을 때와 달리 아예 DB에서 삭제)
2) 글 상세보기 페이지에서 모든 글을 직접 삭제 할 수 있게 구현 (수정은 불가능)
3) 글 작성시 공지/이벤트 태그 설정을 할 수 있음.
⦁ About
- Travelers의 각 페이지별 설명을 서술
- 만든이 표기
'Java > Spring 프로젝트' 카테고리의 다른 글
2. 게시판 구현 (0) | 2020.07.19 |
---|---|
1. Github 협업 준비 (0) | 2020.07.19 |