- 404WeFound
- Feature Introduction
- Architecture
- Sitemap
- Flowchart
- Use Case diagram
- ER diagram
- Class diagram
- Sequence diagram
- API documentation
- Project structure
- Docs
배포 url: http://404wefound.com:8080 (현재 서비스 종료)
wefound_._.mp4
wefoumd_.CRUD.mp4
wefound_._.mp4
wefound_.mp4
wefound_._._.mp4
premium_questions의 댓글, 답변은 아직 구현하지 않아 ERD에 반영하지 않았습니다.
premium_questions의 댓글, 답변은 아직 구현하지 않아 Class diagram에 반영하지 않았습니다.
404WeFound에서 핵심 기능인 질문 게시글에 답변을 작성한 작성자가 다른 사용자로부터 좋아요를 받았을때 포인트를 얻고 등급이 올라서 프리미엄 게시판에 접근하는 과정을 시퀀스 다이어그램으로 나타내었습니다.
사용자 관련 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 | 마이페이지 |
📁 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