Skip to content

개발 과정에서 여러 어려움을 겪게 되는 개발자와 학생들을 위해, 질문과 답변을 공유하고 토론할 수 있는 지식 공유 플랫폼

Notifications You must be signed in to change notification settings

Team-404WeFound/404WeFound

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

목차

  1. 404WeFound
  2. Feature Introduction
  3. Architecture
  4. Sitemap
  5. Flowchart
  6. Use Case diagram
  7. ER diagram
  8. Class diagram
  9. Sequence diagram
  10. API documentation
  11. Project structure
  12. Docs

404WeFound 개발자 커뮤니티

image

개발자 및 학생들을 위한 it 관련 질문과 답변을 공유하고 토론할 수 있는 지식 공유 플랫폼

배포 url: http://404wefound.com:8080 (현재 서비스 종료)

프로젝트 기간: 24년 3월 22일 ~ 4월 9일 (18일)

강석찬 고경욱 김정용 백승진
- 요구사항 및 기능 정의
- 답글 기능 구현
- 코드 리팩토링 및 산출물 개선
- 문서 작업 및 ERD 설계
- 사용자 관련 기능 개선
- 좋아요 기능 구현
- 사이트 설계 및 와이어프레임 작성
- 게시판 및 질문, 댓글 관련 기능 구현
- 렌더링 처리 및 프론트엔드 개발
- 프로젝트 설정 및 일정 관리
- 시큐리티, 포인트, 프리미엄 질문 게시판, 관리자 페이지 기능 구현
- 배포

Feature Introduction

회원가입, 로그인

wefound_._.mp4

질문,답변,댓글 CRUD

wefoumd_.CRUD.mp4

좋아요,포인트,등급

wefound_._.mp4

관리자 페이지

wefound_.mp4

등급에 따른 프리미엄 질문 게시판, 회원탈퇴

wefound_._._.mp4

기술 스택

FE

BE

DB

DEPLOY

Collabo Tools

Architecture

image

Sitemap

image

Flowchart

image

Use Case diagram

image

ER diagram

404wefound_3 premium_questions의 댓글, 답변은 아직 구현하지 않아 ERD에 반영하지 않았습니다.

Class diagram

image

premium_questions의 댓글, 답변은 아직 구현하지 않아 Class diagram에 반영하지 않았습니다.

Sequence diagram

포인트, 등급, 프리미엄 게시판 접근

404WeFound에서 핵심 기능인 질문 게시글에 답변을 작성한 작성자가 다른 사용자로부터 좋아요를 받았을때 포인트를 얻고 등급이 올라서 프리미엄 게시판에 접근하는 과정을 시퀀스 다이어그램으로 나타내었습니다.

image

API documentation

사용자 관련 API:

API 엔드포인트 HTTP 메서드 설명
/admin/updateGrade POST 사용자의 등급을 업데이트
/admin/updatePoint POST 사용자의 포인트를 업데이트
/joinProc POST 회원 가입 처리
/withdraw POST 회원 탈퇴

질문 관련 API:

API 엔드포인트 HTTP 메서드 설명
/api/questions/{questionId}/answers POST 질문에 답변 작성
/api/questions/{questionId}/answers/new GET 답변 작성 페이지 표시
/api/questions/{questionId} GET 특정 질문 조회
/api/questions/{questionId} POST 질문에 댓글 작성
/api/questions/{question_id}/comment GET 질문의 모든 댓글 조회
/api/questions/{question_id}/{comment_id} GET 특정 댓글 조회
/api/questions/{question_id}/{comment_id} DELETE 특정 댓글 삭제
/api/questions POST 질문 작성
/api/questions/{questionId} PUT 질문 수정
/api/questions/{questionId} DELETE 질문 삭제
/questions GET 질문 목록 조회
/inputQuestion GET 질문 작성/수정 페이지 표시

프리미엄 질문 관련 API:

API 엔드포인트 HTTP 메서드 설명
/api/premium-questions POST 프리미엄 질문 작성
/api/{questionId} PUT 프리미엄 질문 수정
/api/{questionId} DELETE 프리미엄 질문 삭제
/premium-questions GET 프리미엄 질문 목록 조회
/premium-questions/{questionId} GET 특정 프리미엄 질문 조회
/premium-questions/new GET 프리미엄 질문 작성 페이지 표시

답변 및 댓글 관련 API:

API 엔드포인트 HTTP 메서드 설명
/api/answers/{answerId}/answerComments POST 답변에 댓글 작성
/api/answers/{answerId}/answerComments GET 답변의 댓글 목록 조회
/api/answers/{answerId}/like POST 답변에 좋아요 추가

페이지 관련 API:

API 엔드포인트 HTTP 메서드 설명
/ GET 메인 페이지
/login GET 로그인 페이지
/join GET 회원가입 페이지
/admin GET 관리자 페이지
/access-denied GET 접근 거부 페이지
/mypage GET 마이페이지

Project structure

📁 src.main
├── 📁 java.com.wefound.weFound
│   ├── 📁 config
│   │   └── 📃 WebSecurityConfig.java
│   ├── 📁 controller
│   │   ├── 📃 AdminController.java
│   │   ├── 📃 AnswerCommentController.java
│   │   ├── 📃 AnswerController.java
│   │   ├── 📃 CommentController.java
│   │   ├── 📃 JoinController.java
│   │   ├── 📃 LoginController.java
│   │   ├── 📃 MainController.java
│   │   ├── 📃 MyPageController.java
│   │   ├── 📃 PremiumQuestionController.java
│   │   └── 📃 PremiumQuestionPageController.java
│   │   ├── 📃 QuestionController.java
│   │   ├── 📃 QuestionPageController.java
│   │   └── 📃 UserController.java
│   ├── 📁 dto
│   │   ├── 📃 AddAnswerCommentRequest.java
│   │   ├── 📃 AddCommentRequest.java
│   │   ├── 📃 AddQuestionRequest.java
│   │   ├── 📃 AllAnswerCommentResponse.java
│   │   ├── 📃 AllCommentResponse.java
│   │   ├── 📃 AnswerCommentResponse.java
│   │   ├── 📃 CommentResponse.java
│   │   ├── 📃 CustomUserDetails.java
│   │   ├── 📃 JoinDto.java
│   │   ├── 📃 QuestionResponse.java
│   │   └── 📃 QuestionViewResponse.java
│   ├── 📁 entity
│   │   ├── 📃 Answer.java
│   │   ├── 📃 AnswerComment.java
│   │   ├── 📃 Comment.java
│   │   ├── 📃 Point.java
│   │   ├── 📃 PremiumQuestion.java
│   │   ├── 📃 Question.java
│   │   └── 📃 User.java
│   ├── 📁 repository
│   │   ├── 📃 AnswerCommentRepository.java
│   │   ├── 📃 AnswerRepository.java
│   │   ├── 📃 CommentRepository.java
│   │   ├── 📃 PointRepository.java
│   │   ├── 📃 PremiumQuestionRepository.java
│   │   ├── 📃 QuestionRepository.java
│   │   └── 📃 UserRepository.java
│   ├── 📁 service
│   │   ├── 📃 AdminService.java
│   │   ├── 📃 AnswerCommentService.java
│   │   ├── 📃 AnswerService.java
│   │   ├── 📃 CommentService.java
│   │   ├── 📃 JoinService.java
│   │   ├── 📃 MainService.java
│   │   ├── 📃 MyPageService.java
│   │   ├── 📃 PremiumQuestionService.java
│   │   ├── 📃 QuestionService.java
│   │   ├── 📃 UserDetailsService.java
│   │   └── 📃 UserService.java
│   └── 📃 Team404WeFoundApplication
├── 📁 resources
.   ├── 📁 static
.   │   ├── 📁 css
.   │   ├── 📁 img
    │   └── 📁 script
    │       ├── 📃 answer-comment.js
    │       ├── 📃 comment.js
    │       ├── 📃 joinValidation.js
    │       ├── 📃 premium-question.js
    │       ├── 📃 premium-question-detail.js
    │       ├── 📃 premium-question-form.js
    │       ├── 📃 question.js
    │       └── 📃 userWithdraw.js
    ├── 📁 templates
    │   ├── 📁 fragments
    │   │   ├── 📃 footer.html
    │   │   └── 📃 header.html
    │   ├── 📃 access-denied.html
    │   ├── 📃 admin.html
    │   ├── 📃 answerForm.html
    │   ├── 📃 firstMain.html
    │   ├── 📃 inputQuestion.html
    │   ├── 📃 join.html
    │   ├── 📃 login.html
    │   ├── 📃 mypage.html
    │   ├── 📃 premium-question-detail.html
    │   ├── 📃 premium-question-form.html
    │   ├── 📃 premium-question.html
    │   ├── 📃 questionDetail.html
    │   ├── 📃 questionDetailNoComment.html
    │   └── 📃 question.html
    └── 📃 application.properties

Docs

(1) 개발계획서
(2) 요구사항 정의서
(3) 요구사항 추적표
(4) 컨벤션
(5) 협업 메뉴얼

About

개발 과정에서 여러 어려움을 겪게 되는 개발자와 학생들을 위해, 질문과 답변을 공유하고 토론할 수 있는 지식 공유 플랫폼

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •