Skip to content

dhyunee/GreenCore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌱 그린코아

⚡일해라일조 (부울경 1반 1조)

반려식물 SNS 플랫폼

Notion



Kent C. Dodds
팀장 염정아
FE 팀장
Jeroen Engels
팀원 정채원

BE 팀장, CI/CD
Jeroen Engels
팀원 김송빈

BE,AI 팀장
Jeroen Engels
팀원 류승태

FE, CI/CD
Jeroen Engels
팀원 서현아

BE
Jeroen Engels
팀원 최형규

FE, AI




🌳 프로젝트 개요

프로젝트 기간

  • 기획 및 설계 : 23.02.20 ~ 23.02.26
  • 프로젝트 개발 : 23.02.27 ~ 23.04.07

구성원

  • 백엔드 3명
  • 프론트엔드 3명



👍 서비스 소개

안녕하세요! 식물을 사랑하시는 분들을 위한 SNS 사이트를 "그린코아"를 소개해드리겠습니다.

"그린코아"는 식물과 관련된 모든 정보를 공유하고 소통할 수 있는 SNS 플랫폼입니다. 사용자들은 자신이 기르는 식물의 사진과 정보를 공유하며, 다른 사용자들의 글에 댓글을 달아 소통할 수 있습니다.

먼저, 식물 가이드 정보 기능에서는 다양한 식물 종류에 대한 정보를 제공합니다. 사용자들은 검색 창에서 관심있는 식물의 이름을 검색하면 해당 식물의 특징, 성장 환경, 관리 방법 등에 대한 상세한 정보를 얻을 수 있습니다.

또한, 식물 스케줄 관리 기능에서는 사용자들이 자신이 기르는 식물에 대한 관리 일정을 관리할 수 있습니다. 이 기능을 사용하면, 사용자들은 식물에게 필요한 물, 양분, 가지런히 관리할 일정을 등록할 수 있으며, 이를 일정에 따라 관리할 수 있도록 알림 기능을 제공합니다.

마지막으로, 병충해 검색 기능에서는 사용자들이 자신의 식물에 발생한 문제를 파악할 수 있도록 다양한 병충해 정보를 제공합니다. 사용자들은 검색 창에서 식물의 잎사귀 사진을 업로드하면, 해당 증상의 질병을 알아내줍니다.

이러한 다양한 기능을 제공하는 "그린코아"은 사용자들이 더욱 효율적으로 식물을 관리하고, 문제를 해결할 수 있도록 도와줍니다.




🍀 주요기능

✔️ 식물 관찰일지

  • 사용자가 식물에 대한 관찰일지를 쓸 수 있다.

  • SNS 피드 형식으로 제공하여 다른 사용자들과 일지를 공유할 수 있다.

  • 사용자는 하나의 관찰 일지에 여러 개의 일지를 추가할 수 있다.

✔️ 식물 관리

  • 키우고 있는 식물에 대한 돌보기 스케줄링을 제공한다.

  • 물주기, 분갈이, 햇빛 등등의 식물 관리 할 일을 표시한다.

  • 식물 관리 스케줄을 등록해 놓으면 때에 맞춰 알림이 간다.

Animation3

✔️ 식물 병충해 검색

  • 상태가 좋지 않은 식물의 잎사귀 사진을 업로드하여 병충해 진단을 할 수 있다

  • 기능을 사용하기 위한 가이드라인을 제공한다

Animation4

✔️ 식물 추천 피드

  • 협업 필터링을 기반으로 사용자에게 맞춤형 추천 피드를 제공한다.

  • 추천 피드는 인기 일지, 같은 종의 식물을 키우는 사람들의 일지 등을 제공한다.

Animation-min

✔️ 식물 가이드

  • 식물을 검색하여 정보 및 키우기 가이드를 제공한다.

  • 식물 이름, 식물 이미지 등으로 검색할 수 있다.

Animation2




📝 팀 규칙 (코드 컨벤션)

Commit Convention

[part] type : subject

body

footer

- 모든 타입 메시지는 `영어`로 작성
- 나머지는 `한글`로 작성

ex) [FE] feat : 메인 페이지 버튼 컴포넌트 구현

Commit Type

- `feat` : 새로운 기능 추가
- `fix` : 버그 수정
- `docs`: 문서 내용 변경
- `style`: 포맷, 세미콜론 수정 등 코드가 아닌 스타일에 관련된 수정
- `refactor`: 리팩토링 코드
- `test`: 테스트 코드 추가 및 리팩토링 테스트 등
- `chore`: build task 수정, 프로젝트 매니저 설정 수정 등
- `cleanup`: 사소한 수정. (간단한 타입 수정, 포맷팅 수정, 문법 수정 등) feat이나 refactor, style 등으로 설정하기 애매한 작업일 때 사용

Front Naming Convention

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

Back Naming Convention

패키지 상세 분류 파일명 파일명 예시
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



📘 기술 스택

✔️ DB

  • MySQL
  • Redis
  • Firebase

✔️ Backend

  • Spring Boot
  • Spring Security
  • Spring Data JPA
  • Spring Data Redis
  • Swagger-ui
  • JWT
  • Gradle
  • JUnit
  • Mocking
  • Gorse

✔️ Frontend

  • Node JS
  • React JS
  • Next JS
  • typescript
  • TailWind
  • sass
  • Redux-toolkit
  • Sockjs
  • Toastify-js

✔️ Deploy

  • AWS EC2
  • Ubuntu 20.04
  • Docker
  • Docker-compose
  • Nginx
  • Jenkins
  • Certbot

✔️ AI

  • Tensorflow
  • Tensorflow JS
  • MobileNet
  • ImageNet

✔️ Communication

  • 형상 관리 - Gitlab
  • 이슈 및 스크럼 관리 - Jira
  • Notion
  • Discord
  • Mattermost




📋 ER 다이어그램

GreenCore_ERD




🐋 아키텍처

GreenCore_Architecture




About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages