- 핵심 기능
- 데이터베이스 구조
- API 명세서
- 패키지 구조
사용자가 프로젝트를 생성하면 애자일 방법론 8단계에 맞춰 단계를 저장할 수 있습니다.
프로젝트를 진행하면서 다른 사용자가 올린 게시글 및 강의글을 보며 학습할 수 있습니다.
사용자는 영상 또는 게시글 형태로 강의를 올릴 수 있습니다.
| column | datatype | work |
|---|---|---|
| id | varchar | PK,NN |
| name | varchar | NN |
| varchar | NN | |
| nickname | varchar | NN |
| password | varchar | NN |
| column | datatype | work |
|---|---|---|
| project_id | int | PK,NN |
| project_name | varchar | NN |
| project_idea | varchar | NN |
| project_level1 ~ project_level8 | boolean | NN |
| id | varchar | FK,NN |
| column | datatype | work |
|---|---|---|
| level_content_id | int | PK,NN |
| project_content | varchar | NN |
| project_level | int | NN |
| project_id | int | FK,NN |
| column | datatype | work |
|---|---|---|
| community_id | uuid | PK,NN |
| community_content | varchar | NN |
| community_tag | varchar | NN |
| community_date | datetime | NN |
| id | varchar | FK,NN |
| column | datatype | work |
|---|---|---|
| comment_id | int | PK,NN |
| comment_content | varchar | NN |
| comment_nickname | varchar | NN |
| content_id | uuid | NN |
| column | datatype | work |
|---|---|---|
| comment_comment_id | int | PK,NN |
| comment_comment_content | varchar | NN |
| comment_id | int | FK,NN |
| column | datatype | work |
|---|---|---|
| survey_id | int | PK,NN |
| survey_num_1 ~ survey_num_4 | varchar | NN |
| id | varchar | FK,NN |
| column | datatype | work |
|---|---|---|
| certification_id | int | PK,NN |
| certification_number | int | NN |
| certification_email | varchar | NN |
| column | datatype | work |
|---|---|---|
| report_id | int | PK,NN |
| report_reason | varchar | NN |
| id | varchar | FK,NN |
Prdoit 프로젝트의 API는 Swagger-UI 기반으로 제공됩니다.
Swagger UI 주소: [API_URL_HERE]
POST /project/store- 프로젝트 저장POST /project/content- 프로젝트 콘텐츠 생성DELETE /project/content- 프로젝트 콘텐츠 삭제PATCH /project/content- 프로젝트 콘텐츠 수정GET /project/{projectId}- 특정 프로젝트 조회DELETE /project/{projectId}- 프로젝트 삭제GET /project/list/{userId}- 사용자 프로젝트 목록 조회GET /project/content/{projectId}/- 프로젝트 콘텐츠 조회GET /project/burndown/{projectId}/{taskId}- 번다운 차트 데이터 조회
POST /user/signup- 회원가입POST /user/login- 로그인POST /user/auth/password- 비밀번호 인증PATCH /user/changePassword- 비밀번호 변경GET /user/notification/{userId}- 사용자 알림 조회GET /user/nickname/{userNickname}- 닉네임 조회GET /user/id/{userId}- 사용자 ID 조회GET /user/findId/{email}- 이메일로 ID 찾기GET /user/email/{userEmail}- 이메일 확인GET /user/confirm/{userId}/{email}- 이메일 인증GET /user/information/{userId}- 사용자 정보 조회
GET /survey- 설문 조회POST /survey- 설문 제출PATCH /survey- 설문 수정
POST /mail/send- 메일 발송POST /mail/check- 메일 확인
GET /content- 콘텐츠 조회POST /content- 콘텐츠 생성PATCH /content- 콘텐츠 수정POST /content/like/{contentId}- 콘텐츠 좋아요GET /content/{contentId}- 특정 콘텐츠 조회GET /content/total/{userId}- 사용자 총 콘텐츠 조회
GET /community- 커뮤니티 조회POST /community- 커뮤니티 게시글 생성PATCH /community- 커뮤니티 게시글 수정GET /community/{communityId}- 특정 커뮤니티 게시글 조회DELETE /community/{communityId}- 커뮤니티 게시글 삭제
POST /comments- 댓글 생성PATCH /comments- 댓글 수정POST /comments/reply- 대댓글 생성PATCH /comments/reply- 대댓글 수정POST /comments/community- 커뮤니티 댓글 생성PATCH /comments/community- 커뮤니티 댓글 수정POST /comments/community/reply- 커뮤니티 대댓글 생성PATCH /comments/community/reply- 커뮤니티 대댓글 수정GET /comments/content/{contentId}- 특정 콘텐츠 댓글 조회GET /comments/community/{communityId}- 특정 커뮤니티 댓글 조회
─src
├─main
│ ├─java
│ │ └─com
│ │ └─example
│ │ └─prdoit
│ │ │ PrdoitApplication.java
│ │ │
│ │ ├─config
│ │ │ BacklogEnum.java
│ │ │ EmailConfig.java
│ │ │ SecurityConfig.java
│ │ │ SwaggerConfig.java
│ │ │ WebConfig.java
│ │ │
│ │ ├─controller
│ │ │ CommentController.java
│ │ │ CommunityController.java
│ │ │ ContentController.java
│ │ │ MailController.java
│ │ │ ProjectController.java
│ │ │ SurveyController.java
│ │ │ testController.java
│ │ │ UserController.java
│ │ │
│ │ ├─dto
│ │ │ │ SurveyDto.java
│ │ │ │
│ │ │ ├─comment
│ │ │ │ CommentPatchDto.java
│ │ │ │ CommentReplyPatchDto.java
│ │ │ │ CommentReplyRequestDto.java
│ │ │ │ CommentReplyResponseDto.java
│ │ │ │ CommentRequestDto.java
│ │ │ │ CommentResponseDto.java
│ │ │ │ CommunityCommentPatchDto.java
│ │ │ │ CommunityCommentPostDto.java
│ │ │ │ CommunityCommentReplyPatchDto.java
│ │ │ │ CommunityCommentReplyPostDto.java
│ │ │ │ CommunityCommentReplyResponseDto.java
│ │ │ │ CommunityCommentResponseDto.java
│ │ │ │
│ │ │ ├─community
│ │ │ │ CommunityDetailResponseDto.java
│ │ │ │ CommunityPatchDto.java
│ │ │ │ CommunityRequestDto.java
│ │ │ │ CommunityResponseDto.java
│ │ │ │ CommunityTagPatchDto.java
│ │ │ │ CommunityTagResponseDto.java
│ │ │ │
│ │ │ ├─content
│ │ │ │ ContentDetailDto.java
│ │ │ │ ContentRequestDto.java
│ │ │ │ ContentResponseDto.java
│ │ │ │ ContentTitleDto.java
│ │ │ │ ContentUpdateDto.java
│ │ │ │ TotalContentDto.java
│ │ │ │
│ │ │ ├─notification
│ │ │ │ NotificationResponseDto.java
│ │ │ │
│ │ │ ├─project
│ │ │ │ │ ProjectCreateDto.java
│ │ │ │ │ ProjectResponseDto.java
│ │ │ │ │
│ │ │ │ ├─backlog
│ │ │ │ │ BacklogAddDto.java
│ │ │ │ │ BacklogListDto.java
│ │ │ │ │ BacklogPatchDto.java
│ │ │ │ │ BacklogPutDto.java
│ │ │ │ │ BacklogPutListDto.java
│ │ │ │ │ BacklogResponseDto.java
│ │ │ │ │
│ │ │ │ ├─burndown
│ │ │ │ │ BurndownDto.java
│ │ │ │ │ BurndownListDto.java
│ │ │ │ │ BurndownPatchDto.java
│ │ │ │ │ BurndownPostDto.java
│ │ │ │ │ BurndownPostListDto.java
│ │ │ │ │ BurndownResponseDto.java
│ │ │ │ │
│ │ │ │ └─content
│ │ │ │ ContentDeleteDto.java
│ │ │ │ ContentDto.java
│ │ │ │ ContentPatchDto.java
│ │ │ │ ContentResponseDto.java
│ │ │ │ ProjectContentResponseDto.java
│ │ │ │
│ │ │ └─user
│ │ │ ChangePasswordDto.java
│ │ │ InformationDto.java
│ │ │ LoginDto.java
│ │ │ UserDto.java
│ │ │
│ │ ├─exception
│ │ │ CustomException.java
│ │ │
│ │ ├─model
│ │ │ BacklogTable.java
│ │ │ CertificationTable.java
│ │ │ CommentCommentTable.java
│ │ │ CommentTable.java
│ │ │ CommunityTable.java
│ │ │ CommunityTagTable.java
│ │ │ ContentTable.java
│ │ │ IdTable.java
│ │ │ NotificationTable.java
│ │ │ ProjectLevelContentTable.java
│ │ │ ProjectTable.java
│ │ │ SurveyTable.java
│ │ │
│ │ ├─repository
│ │ │ BacklogTableRepository.java
│ │ │ CertificationTableRepository.java
│ │ │ CommentCommentTableRepository.java
│ │ │ CommentTableRepository.java
│ │ │ CommunityTableRepository.java
│ │ │ CommunityTagTableRepository.java
│ │ │ ContentTableRepository.java
│ │ │ IdTableRepository.java
│ │ │ NotificationTableRepository.java
│ │ │ ProjectLevelContentTableRepository.java
│ │ │ ProjectTableRepository.java
│ │ │ SurveyTableRepository.java
│ │ │
│ │ └─service
│ │ ├─comment
│ │ │ CommentService.java
│ │ │ CommentServiceImpl.java
│ │ │
│ │ ├─community
│ │ │ CommunityService.java
│ │ │ CommunityServiceImpl.java
│ │ │
│ │ ├─content
│ │ │ ContentService.java
│ │ │ ContentServiceImpl.java
│ │ │
│ │ ├─mail
│ │ │ MailService.java
│ │ │ MailServiceImpl.java
│ │ │
│ │ ├─notification
│ │ │ NotificationService.java
│ │ │ NotificationServiceImpl.java
│ │ │
│ │ ├─project
│ │ │ ProjectService.java
│ │ │ ProjectServiceImpl.java
│ │ │
│ │ ├─survey
│ │ │ SurveyService.java
│ │ │ SurveyServiceImpl.java
│ │ │
│ │ └─user
│ │ UserService.java
│ │ UserServiceImpl.java
│ │
│ └─resources
│ application.properties
