프로젝트 시작하게된 이유
환경오염문제가 심각해지면서 업싸이클링, 리싸이클링에 대한 브랜드도 많아지고 관심이 높아져
재활용할 수 있는 팁들을 서로 공유하고 환경 보존에 도움이 되고자 함
프로젝트 개요
프로젝트 명: UpRe
인원 : 4명
개발 언어 : HTML, CSS, JavaScript, Java, JSP
개발 환경: STS4
데이터베이스: Oracle
주요기능:
- 유저
1. 회원 가입
2. 로그인
3. 게시글 등록, 수정, 삭제
4. QnA 등록, 수정, 삭제
5. 굿즈 구매
6. 마이페이지
* 정보 수정
* 내가 쓴 글 조회
* 굿즈 주문 내역 조회
* 참여신청한 클래스 조회
- 관리자
1. 회원 관리
* 회원 정보 수정
* 회원 탈퇴
2. 게시판 관리
* 공지글 게시
* 모든 게시물 수정, 삭제 가능
3. QnA 관리
* 답변하기
* QnA 글 삭제
4. 굿즈 관리
* 상품 수정
5. 클래스 관리
* 모집할 클래스 등록, 수정, 삭제
- 게시판
* CRUD기능, 조회수, 페이징 및 검색, 댓글 대댓글, 좋아요, 이미지 첨부
- QnA
* CRUD기능, 관리자의 답변에 따라 답변상태 변화
- 굿즈
* RU기능, 구매 금액이 5만원 넘어갈 시에 배송비 무료로 변경
- 클래스
* CRUD기능, 조회수, 검색, 정원이 다 찼을 시 마감
기능 별 요구 사항
1. 회원가입
* 유효성 검사
- 아이디: 1. 4~20자리의 영문 소문자와 숫자로 가입 (미충족시 "아이디는 4~20자의 영문 소문자, 숫자만 사용 가능합니다." 출력)
2. 중복된 아이디는 가입 불가(미충족시 "아이디가 이미 존재합니다." 출력)
- 비밀번호: 1. 8자리 이상이며 영문, 숫자, 특수문자를 포함(미충족시 "비밀번호를 8자리 이상 입력해주세요." 출력)
2. 비밀번호 재입력 체크(미충족시 "비밀번호가 일치하지 않습니다." 출력)
3. 회원가입시 인코딩되어 저장
- 이메일: 1. 이메일 형식으로 입력(미충족시 "이메일 형식으로 입력해주세요." 출력)
2. 이메일 입력 후에 인증번호 전송 후 인증번호 입력(미충족시 "인증코드를 입력해주세요" 출력)
- 주소: 1. 다음 주소 API로 주소지 입력
- 모든 항목은 입력되지 않았을때 "(해당필드명)을 입력해주세요" 메시지 출력
- 모든 항목이 조건을 충족하지 않으면 "입력한 정보를 다시 확인해주세요." alert 메시지 출력
2. 로그인
- 로그인 하지 않은 경우에는 게시글 등록, QnA등록, 클래스 참여, 굿즈 구매 서비스 이용 불가
- 아이디와 비밀번호 미 입력시 "(해당필드)를 입력해주세요." 출력
- 아이디가 존재하지 않거나 비밀번호가 틀릴 경우에는 "아이디 또는 비밀번호를 잘못 입력했습니다. 입력하신 내용을 다시 확인해주세요." 출력
- 권한에 따라 일반 유저일 경우에는 일반 페이지로 이동, 관리자의 경우에는 관리자 페이지로 이동
- 회원가입 시 등록한 이름과 이메일을 활용하여 아이디를 찾을 수 있으며, 이름, 아이디, 이메일을 조합하여 비밀번호를 재설정할 수 있음
3. 게시판
- 게시글
* 일반유저: 게시글 등록, 수정, 삭제 가능하며 등록한 게시글에 대한 수정, 삭제는 등록한 유저만 가능
* 관리자: 게시글 등록, 수정, 삭제 가능하며 등록한 게시글은 윗 상단에 표시됨 모든 게시글에 대한 삭제 권한 부여
- 댓글
* 일반유저, 관리자: 해당 게시글에 댓글 등록, 수정, 삭제 가능하며 등록한 댓글에 대한 수정 삭제는 등록한 사용자만 가능
* 대댓글 입력시 부모댓글에 종속되어 등록되며 부모댓글 밑에 출력, 대댓글이 있을 시에 부모댓글 삭제 불가능
- 좋아요
* 좋아요는 게시물당 한번만 가능
4. QnA
- 일반유저: QnA 등록, 수정, 삭제 가능하며 등록한 문의글에 대한 수정, 삭제는 등록한 유저만 가능
- 관리자: 등록된 문의글에 대해 답변을 달 수 있으며, 답변 여부에 따라 QnA리스트에 답변 상태가 변경됨
5. 굿즈
- 기본 배송비는 3,000원으로 설정하고, 5만원 이상 구매시에는 배송비를 무료로 반영
- 굿즈에 대한 정보는 관리자만 변경할 수 있음
6. 클래스
- 일반유저: 클래스 참여하기
- 관리자: 클래스 등록, 수정, 삭제 가능
- 모집인원 설정 후 정원이 다 찼을 경우에 신청을 누르면 "신청이 마감되었습니다." 메시지 출력
- 각 클래스에서 모집인원을 클릭하면 신청한 유저리스트 조회 가능
7. 마이페이지
- 마이페이지에서 회원의 정보 수정 가능하며 수정을 하려면 비밀번호를 입력해야함
- 내가 쓴 글, 굿즈 주문 내역, 참여한 클래스 내역 리스트 조회 가능
개선 사항
1. 게시판에서 좋아요와 댓글 및 대댓글 등록 시에 실시간으로 반영되지 않고 재로딩되는 문제가 있음 현재는 사용자가 좋아요를 누를때 실시간으로 반영되지 않고, 댓글이나 대댓글을 작성하면 페이지가 재로딩되면서 반영되어 조회수가 올라가는 문제가 있음
이는 사용자들의 사용성을 저하시키는 요소이기 때문에 개선하여 실시간으로 좋아요와 댓글 및 대댓글 등록이 반영되도록 구현하고자 함
2. 답글 등록 시에 작성자 닉네임을 태그하는 기능이 있으면 좋을 거 같음 현재는 답글을 작성하면 작성 순서대로 반영되는데 여러 유저가 답글을 달 경우에 누구에게 답글을 달고 있는지 확인하기 어려울 수 있기에 자동으로 작성자의 닉네임을 태그하는 기능을 구현하고자 함
3. 게시판에 이미지 업로드 시에 서버가 바로 갱신되지 않아 이미지를 업로드 후에 서버 리프레쉬가 일어나기까지 일정시간 소요되어 일정시간 지난 뒤에 새로고침을 해야 반영되고 있음 이로 인해 사용자가 업로드한 이미지를 바로 확인하기 어려워 편의성이 떨어지기에 서버에 즉시 반영되어 화면에 출력할 수 있도록 구현하고자 함
4. 굿즈 구매 시에 카카오페이 API를 구현했지만 결제창이 나타남과 동시에 데이터 값이 데이터베이스에 입력되고 있음 이로 인해 사용자가 결제를 완료하지 않았음에도 데이터베이스에 구매 기록이 남아 부정확한 구매 내역을 생성하게 됨 개선을 위해 실제로 결제 완료 후에만 데이터베이스에 구매 기록이 입력되게 구현하고자 함
주요 기능 시연
1. 회원가입 및 로그인
2. 게시판 등록 및 댓글
3. QnA
4. 클래스
5. 굿즈
6. 마이페이지
7. 관리자
'프로젝트' 카테고리의 다른 글
AI 프로젝트 (재움) (1) | 2023.11.16 |
---|
댓글