⚡일해라일조 (부울경 1반 1조)
반려식물 SNS 플랫폼
팀장 염정아 FE 팀장
|
팀원 정채원 BE 팀장, CI/CD
|
팀원 김송빈 BE,AI 팀장
|
팀원 류승태 FE, CI/CD
|
팀원 서현아 BE
|
팀원 최형규 FE, AI
|
- 기획 및 설계 : 23.02.20 ~ 23.02.26
- 프로젝트 개발 : 23.02.27 ~ 23.04.07
- 백엔드 3명
- 프론트엔드 3명
안녕하세요! 식물을 사랑하시는 분들을 위한 SNS 사이트를 "그린코아"를 소개해드리겠습니다.
"그린코아"는 식물과 관련된 모든 정보를 공유하고 소통할 수 있는 SNS 플랫폼입니다. 사용자들은 자신이 기르는 식물의 사진과 정보를 공유하며, 다른 사용자들의 글에 댓글을 달아 소통할 수 있습니다.
먼저, 식물 가이드 정보 기능에서는 다양한 식물 종류에 대한 정보를 제공합니다. 사용자들은 검색 창에서 관심있는 식물의 이름을 검색하면 해당 식물의 특징, 성장 환경, 관리 방법 등에 대한 상세한 정보를 얻을 수 있습니다.
또한, 식물 스케줄 관리 기능에서는 사용자들이 자신이 기르는 식물에 대한 관리 일정을 관리할 수 있습니다. 이 기능을 사용하면, 사용자들은 식물에게 필요한 물, 양분, 가지런히 관리할 일정을 등록할 수 있으며, 이를 일정에 따라 관리할 수 있도록 알림 기능을 제공합니다.
마지막으로, 병충해 검색 기능에서는 사용자들이 자신의 식물에 발생한 문제를 파악할 수 있도록 다양한 병충해 정보를 제공합니다. 사용자들은 검색 창에서 식물의 잎사귀 사진을 업로드하면, 해당 증상의 질병을 알아내줍니다.
이러한 다양한 기능을 제공하는 "그린코아"은 사용자들이 더욱 효율적으로 식물을 관리하고, 문제를 해결할 수 있도록 도와줍니다.
-
사용자가 식물에 대한 관찰일지를 쓸 수 있다.
-
SNS 피드 형식으로 제공하여 다른 사용자들과 일지를 공유할 수 있다.
-
사용자는 하나의 관찰 일지에 여러 개의 일지를 추가할 수 있다.
-
키우고 있는 식물에 대한 돌보기 스케줄링을 제공한다.
-
물주기, 분갈이, 햇빛 등등의 식물 관리 할 일을 표시한다.
-
식물 관리 스케줄을 등록해 놓으면 때에 맞춰 알림이 간다.
-
상태가 좋지 않은 식물의 잎사귀 사진을 업로드하여 병충해 진단을 할 수 있다
-
기능을 사용하기 위한 가이드라인을 제공한다
-
협업 필터링을 기반으로 사용자에게 맞춤형 추천 피드를 제공한다.
-
추천 피드는 인기 일지, 같은 종의 식물을 키우는 사람들의 일지 등을 제공한다.
-
식물을 검색하여 정보 및 키우기 가이드를 제공한다.
-
식물 이름, 식물 이미지 등으로 검색할 수 있다.
[part] type : subject
body
footer
- 모든 타입 메시지는 `영어`로 작성
- 나머지는 `한글`로 작성
ex) [FE] feat : 메인 페이지 버튼 컴포넌트 구현
- `feat` : 새로운 기능 추가
- `fix` : 버그 수정
- `docs`: 문서 내용 변경
- `style`: 포맷, 세미콜론 수정 등 코드가 아닌 스타일에 관련된 수정
- `refactor`: 리팩토링 코드
- `test`: 테스트 코드 추가 및 리팩토링 테스트 등
- `chore`: build task 수정, 프로젝트 매니저 설정 수정 등
- `cleanup`: 사소한 수정. (간단한 타입 수정, 포맷팅 수정, 문법 수정 등) feat이나 refactor, style 등으로 설정하기 애매한 작업일 때 사용
handle [부가정보] [event명]
onClick
onMouseOver
handleCreateBtnClick
- 예시
- handleBoardCreateClick
- handleLogInClick
- handleAlertHover
- handleUpdateFormChange
타입 | 기능 | 변수명 | 변수명 예시 |
---|---|---|---|
boolean | true/false | is [목적어] [동사(원형)] | isModalOpen |
array [] | 목록 | ~~List | categoryList |
number 0 | 페이지네이션 관련 totalCount | ~~TotalCount | categoryListTotalCount |
object {} | user 관련 상세 정보 JSON type | ~~Info | clientInfo , HelperInfo |
object {} | 그 밖 관련 상세 정보 JSON type | ~~Detail | themeDetail |
number 0 | 평균 (점수) | ~~Avg | helperAvg |
string "” | 코드 | ~~Code | groupCode |
패키지 | 상세 분류 | 파일명 | 파일명 예시 |
---|---|---|---|
Controller | ~~Controller | LoginController | |
Service | ~~Service | LoginService | |
Dto | Client → Server | ~~RequestDto | TonnyRequestDto |
Server → Client | ~~ResponseDto | TonnyResponseDto | |
Entity | ~~Entity | TonnyEntity | |
Repository | ~~Repository | UserRepository | |
Common | x | x | |
Exception | ~~Exception | GlobalException |
기능 | 상세 기능 | 함수명 |
---|---|---|
생성 | insert[이름] | |
조회 | 상세 조회 | find[이름] , find[이름]By[조건] |
목록 조회 | find[이름]List | |
수정 | update[이름] | |
삭제 | remove[이름] |
기능 | 상세 기능 | 함수명 |
---|---|---|
회원가입 | signup | |
생성 | create[이름] | |
조회 | 상세 조회 | get[이름] |
목록 조회 | get[이름]List | |
수정 | modify[이름] | |
삭제 | delete[이름] |
스프린트 | 기간 | 제목 | 설명 |
---|---|---|---|
1주차 스프린트 | 2023.02.27(월) ~ 2023.03.05(일) | 프로젝트 세팅 기간 | |
1주차-1 | 02.27 (월) | Git, Jira 초기화 | Git, Jira |
1주차-2 | 03.01 (수) | 와이어프레임 설계 | Figma |
1주차-3 | 03.03 (금) | 와이어프레임 기반 더미데이터 작성 | 기능 명세서 |
2주차 스프린트 | 2023.03.06(월) ~ 2023.03.12(일) | 프로젝트 설계 기간 | |
2주차-1 | 03.06 (월) | Entity/Dto 설계 | ERD |
2주차-2 | 03.08 (수) | GIT, JIRA 작업 영역 변경, ERD 설계 | Git, Jira |
2주차-3 | 03.10 (금) | 현업자 리뷰, REST API 목업 구현 개발 시작 | API 명세서 |
3주차 스프린트 | 2023.03.13(월) ~ 2023.03.19(일) | 프로젝트 개발 기간 (1) | |
3주차-1 | 03.13 (월) | [FE] REST API 목업 구현, [BE] REST API 상세 구현 | |
3주차-2 | 03.15 (수) | [FE] REST API 목업 구현, [BE] REST API 상세 구현 | |
3주차-3 | 03.17 (금) | [FE] REST API 목업 구현, [BE] REST API 상세 구현 |
[BE]
├─main
│ ├─generated
│ ├─java
│ │ └─com
│ │ └─chicochico
│ │ ├─common
│ │ │ ├─code
│ │ │ ├─controller
│ │ │ ├─dto
│ │ │ │ ├─request
│ │ │ │ └─response
│ │ │ ├─entity
│ │ │ ├─repository
│ │ │ └─service
│ │ ├─config
│ │ ├─domain
│ │ │ ├─alert
│ │ │ │ ├─controller
│ │ │ │ ├─dto
│ │ │ │ │ ├─request
│ │ │ │ │ └─response
│ │ │ │ ├─entity
│ │ │ │ ├─repository
│ │ │ │ └─service
│ │ │ ├─feed
│ │ │ │ ├─controller
│ │ │ │ ├─dto
│ │ │ │ │ ├─request
│ │ │ │ │ └─response
│ │ │ │ ├─entity
│ │ │ │ ├─repository
│ │ │ │ └─service
│ │ │ ├─plant
│ │ │ │ ├─controller
│ │ │ │ ├─dto
│ │ │ │ │ ├─request
│ │ │ │ │ └─response
│ │ │ │ ├─entity
│ │ │ │ ├─repository
│ │ │ │ └─service
│ │ │ ├─schedule
│ │ │ │ ├─controller
│ │ │ │ ├─dto
│ │ │ │ │ ├─request
│ │ │ │ │ └─response
│ │ │ │ ├─entity
│ │ │ │ ├─repository
│ │ │ │ └─service
│ │ │ └─user
│ │ │ ├─controller
│ │ │ ├─dto
│ │ │ │ ├─request
│ │ │ │ └─response
│ │ │ ├─entity
│ │ │ ├─repository
│ │ │ └─service
│ │ └─exception
│ └─resources
│ ├─properties
│ └─sql
└─test
└─java
└─com
└─chicochico
├─alert
├─feed
│ ├─controller
│ ├─repository
│ └─service
├─plant
├─schedule
└─user
└─service
[FE]
├─assets
├─components
│ ├─ai
│ │ ├─Popup
│ │ └─ResultPage
│ ├─button
│ ├─common
│ └─modal
├─core
│ ├─alert
│ ├─common
│ ├─diary
│ ├─diarySet
│ ├─feed
│ ├─follow
│ ├─plant
│ ├─post
│ ├─schedule
│ ├─search
│ └─user
├─layout
├─lib
├─pages
│ ├─auth
│ ├─diary
│ │ └─update
│ ├─diaryset
│ │ └─list
│ ├─home
│ │ ├─following
│ │ └─recommend
│ ├─plant
│ │ ├─disease
│ │ └─docs
│ ├─post
│ │ └─update
│ ├─schedule
│ └─user
│ ├─alert
│ ├─bookmark
│ ├─feed
│ ├─follower
│ ├─following
│ └─settings
└─styles
├─common
├─font
│ ├─woff
│ ├─woff-subset
│ ├─woff2
│ └─woff2-subset
├─home
└─user
MySQL
Redis
Firebase
Spring Boot
Spring Security
Spring Data JPA
Spring Data Redis
Swagger-ui
JWT
Gradle
JUnit
Mocking
Gorse
Node JS
React JS
Next JS
typescript
TailWind
sass
Redux-toolkit
Sockjs
Toastify-js
AWS EC2
Ubuntu 20.04
Docker
Docker-compose
Nginx
Jenkins
Certbot
Tensorflow
Tensorflow JS
MobileNet
ImageNet
- 형상 관리 -
Gitlab
- 이슈 및 스크럼 관리 -
Jira
Notion
Discord
Mattermost