SHabit λ§ν¬(μΉμ¬μ΄νΈ) : SHabit
UCC.mov
κ°λ° κ³Όμ 보기 : Notion
2023.01.03(ν) ~ 2023.02.17(κΈ) (46μΌκ° μ§ν)
μ»΄ν¨ν° μμ μμμ μΌνμλ©΄μ κ±°λΆλͺ©μ΄ λμ΄κ°κ³ μμ§ μμΌμ κ°μ? νμ§λ§ μΌμ νλ λμ€ μμΈκ° ννΈλ¬μ§ κ²μ νμΈνκΈ°κ° μ½μ§μμ£ !
SHabitμ μμ’μ μμΈ μ΅κ΄μ κ³ μΉλ κ²μ λμμ£Όλ μΉμ¬μ΄νΈμ λλ€. SHabitκ³Ό ν¨κ»λΌλ©΄, λͺ©νλ₯Ό μΈμ μ’μ μμΈ μ΅κ΄μ κΈ°λ₯Ό μ μμ΅λλ€.
- μ²μΆ 건κ°μ μν μ’μ μ΅κ΄μ λ§λ€μ -
SHabitλ Stretching Habitμ μ½μμ
λλ€.
SHabitμ μ¬μ©μμ μμΈλ₯Ό νΈλνΉνμ¬ μ¬λ°λ₯΄μ§ μμ μμΈλ₯Ό μ μ§ν μ κ²½κ³ ν΄μ£Όκ³ , μ’μ μ΅κ΄μ μν΄ μ ν΄μ§ μκ°λ§λ€ μ€νΈλ μΉμ μΆμ²νμ¬ μ΅κ΄μ κ³ μΉλ λ°μ λμμ μ£Όλ μΉμλΉμ€μ
λλ€.
κ°μΈμ΄ μ»΄ν¨ν°λ₯Ό μ¬μ©ν λ μμΈκ° μ½κ² ννΈλ¬μ§λ€λ μ μ κ³ λ €νμ¬ SHabitμ κ°μΈμ΄ μ¬μ©νλ μΉμ¬μ΄νΈλ‘ κ°λ°λμμ΅λλ€. λ°λΌμ μ½κ³ κ°νΈνκ² μ¬μ©ν μ μμ΅λλ€. λν, λͺ©νλ₯Ό μΈμ νμ¬ μμΉμ λΉκ΅νλ©° κ²½κ°μ¬μ κ°μ§ μ μμ΅λλ€.
- Teachable Machineμ μ¬μ©νμ¬ μμΈλ₯Ό νΈλνΉν©λλ€.
- webRTCμ getUserMedia()λ₯Ό μ¬μ©νμ¬ userμ μΉ΄λ©λΌμ μ κ·Όνκ³ mediastream recording apiλ₯Ό νμ©νμ¬ SHabit μ¬μ©νλ λͺ¨μ΅μ λ
Ήνν©λλ€.
- μ’μ§ μμ μμΈκ° μ ν΄μ§ μκ°(default 3λΆ) μ΄μ μ§μλλ©΄ κ²½κ³ μ°¨μμμ ν¬λ‘¬ μλ¦Όμ΄ λΉλλ€.
- μ ν΄μ§ μκ°(default 50λΆ)λ§λ€ ν¬λ‘¬ μλ¦Όμ΄ λ¨κ³ , μ΄λ₯Ό ν΄λ¦νμ¬ μ€νΈλ μΉμ μμν μ μμ΅λλ€.
- μμμ 3λΆ, 5λΆ, 10λΆ λ¨μλ‘ μ 곡λλ©°, μ λ°μ΄ν°λ₯Ό ν λλ‘ μ μ ν λΆμ(κ±°λΆλͺ©, ν리, μ μ )μ μ€νΈλ μΉ μμμ μΆμ²ν΄μ€λλ€.
- μμΈκ° λ°λ λλ§λ€ μμμ μΊ‘μ²νμ¬ DBμ μ μ₯ν©λλ€.
- λκ°κΈ° λ²νΌμ ν΅ν΄ λκ° μ μμ΅λλ€.
- 1λΆλ§λ€ 1μ΄μ© μ°μ΄μ§ μμμ μ΄μ΄ λ§λ ν΄λ¦½μ 보거λ λ€μ΄λ‘λ ν μ μμ΅λλ€.
- νμ μ 보, λ§μ§λ§ μ μμΌ, κ±΄κ° λ¬Έκ΅¬λ₯Ό νμΈν μ μμ΅λλ€.
- νμμ΄ μ μνμ¬ μ¬λ°λ₯Έ μμΈλ₯Ό μ·¨ν percentageλ₯Ό λ°νμΌλ‘ λ§λ heatmap(μλ)μ νμΈν μ μμ΅λλ€.
- ν
λ§μ μμ ν΄λ¦νμ¬ ν
λ§ μμμ λ³κ²½ν μ μμ΅λλ€.
- νλ‘ν μ¬μ§μ ν΄λ¦νμ¬ λ³κ²½ν μ μμ΅λλ€.
- μλ¨ λ¬Έκ΅¬λ₯Ό ν΅ν΄ μ€λ μ΄ λͺ μκ° μ¬μ©νκ³ , λͺ λΆ λ°λ₯Έ μμΈλ₯Ό μ μ§νλμ§ μ μ μμ΅λλ€.
- range bar graphλ₯Ό ν΅ν΄ μ¬μ© μκ°κ³Ό κ·Έλ μ μ§ν μμΈλ₯Ό νλμ νμΈν μ μμ΅λλ€.
- line graphλ₯Ό ν΅ν΄ ν루 λ¨μλ‘ λͺνΌμΌνΈ λ°λ₯Έ μμΈλ₯Ό μ μ§νλμ§ μ μ μμ΅λλ€.
- weeklyμ monthlyλ‘ κ΅¬λΆνμ¬ νλμ νμΈν μ μμ΅λλ€.
- line graphμμ νΉμ λ μ§λ₯Ό ν΄λ¦νλ©΄ μ°μΈ‘μ pie graphκ° λνλ©λλ€. ν΄λΉ μΌμ μ΄λ€ μμΈλ₯Ό λͺνΌμΌνΈ μ μ§νλμ§ μ½κ² νμΈμ΄ κ°λ₯ν©λλ€.
- range bar graphμ line graphλ svg, png, csv νμΌλ‘ μ μ₯ κ°λ₯ν©λλ€.
- λͺ©ν λ¬μ± μΉΈμμ λ΄κ° μ€μ ν λͺ©ν(percentage, μκ°)μ μ€λ λ¬μ± μ λλ₯Ό νμΈν μ μμ΅λλ€.
- μ€λ₯Έμͺ½ μλ¨ μμ λ²νΌμ ν΅ν΄ λͺ©νλ₯Ό μ§μ μ€μ ν μ μμ΅λλ€.
- μμΈ μ μ§ μκ° μΉΈμμλ μ€λ μ¬μ©ν μ΄ μκ° λλΉ μ μ§ν μμΈλ₯Ό ν λμ νμΈν μ μλλ‘ bar graphλ₯Ό μ 곡νκ³ μμ΅λλ€.
- μ΄ νμ΄μ§λ μ€λ₯Έμͺ½ μλ¨ λ€μ΄λ‘λ λ²νΌμ ν΅ν΄ νμ΄μ§ μ΄λ―Έμ§λ₯Ό μμ½κ² μ μ₯ν μ μμ΅λλ€.
- νΈλνΉμ νλ©΄μ μ°μ μ¬μ§λ€μ νμΈν μ μμ΅λλ€.
- λ°λ₯Έ μμΈ, κ±°λΆλͺ© μμΈ, λΉμ€λ¬ν μμΈ, λμ΄ μμΈλ³λ‘ ꡬλΆνμ¬ λ³Ό μ μμ΅λλ€.
- κ΄λ¦¬μκ° λ‘κ·ΈμΈνμ¬ μ€νΈλ μΉ μκ°κ³Ό μλ¦Ό μκ°μ λ³κ²½ν μ μμ΅λλ€.
- μλ‘μ΄ μ€νΈλ μΉ μμμ μΆκ°ν μ μμ΅λλ€.
- μλ‘μ΄ κ±΄κ° λ¬Έκ΅¬λ₯Ό μΆκ°ν μ μμ΅λλ€.
Backend - Spring
- IntelliJ IDE
- Springboot 3.0.1
- Spring Data JPA
- Spring Security
- Spring Validation
- Spring Web
- QueryDSL
- WebRTC
- WebSocket
- Redis
- MariaDB
- MongoDB
- GCP
- Swagger 3.0.0
- JWT
Frontend
- React
- Redux Toolkit
- Styled Components
- TypeScript
- SockJS-client
- Teachable Machine
- React-Webcam
- Axios
- ApexCharts
CI/CD
- AWS EC2
- AWS S3
- Jenkins
- NGINX
shabit
βββ admin
β βββ controller
β βββ dto
β β βββ req
β β βββ res
β βββ entity
β βββ repository
β βββ service
β βββ youtube
βββ config
β βββ oauth
β β βββ entity
β β βββ exception
β β βββ handler
β β βββ info
β β | βββ impl
β β βββ repository
β β βββ service
β β βββ utils
β βββ security
βββ goal
β βββ controller
β βββ dto
β β βββ req
β β βββ res
β βββ entity
β βββ repository
β βββ service
βββ info
β βββ controller
β βββ dto
β β βββ req
β β βββ res
β βββ entity
β βββ repository
β βββ service
βββ jwt
βββ statistics
β βββ controller
β βββ dto
β β βββ req
β β βββ res
β βββ entity
β βββ repository
β βββ service
βββ user
β βββ controller
β βββ dto
β β βββ req
β β βββ res
β βββ entity
β βββ enums
β βββ repository
β βββ service
βββ util
shabit-front
βββ node_modules
βββ public
β βββ assets
β β βββ fonts
β βββ my_model
βββ src
βββ components
β βββ Admin
β βββ authTest
β βββ Chart
β βββ common
β βββ Landing
β βββ Main
β βββ OAuth
β βββ Posture
β βββ TeachableMachineTest
βββ pages
βββ services
β βββ admin
β | βββ get
β βββ auth
β | βββ delete
β | βββ get
β | βββ post
β | βββ put
β βββ info
β βββ stat
βββ store
βββ styles
βββ utils
- Git
- Notion
- JIRA
- MatterMost
- Gitlab
- μ½λμ λ²μ μ κ΄λ¦¬
- gitlab flowλ‘ κ΄λ¦¬
- μλ λ°°ν¬(main branch, dev branch-backend)
- JIRA
- λ§€μ£Ό λͺ©νλμ μ€μ νμ¬ Sprint μ§ν
- μ 무μ ν λΉλμ μ νμ¬ Story Pointλ₯Ό μ€μ νκ³ , In-Progress -> Done μμΌλ‘ μμ
- νμ
- μμΉ¨ μ€ν¬λΌ μ§ν, μ μ ν μΌκ³Ό λΉμΌ ν μ 무 λΈλ¦¬ν
- λ§€ μ£Ό 첫 λ§λ¨λλ§λ€ μ€νλ¦°νΈ μ§ννμ¬ Back μ§νμν©κ³Ό Front μ§νμν©μ 곡μ
- Notion
- νμκ° μμλλ§λ€ νμλ‘μ κΈ°λ‘νμ¬ λ³΄κ΄
- κΈ°μ ν보 μ, λ€λ₯Έ νμλ€λ μΆν λ°λΌν μ μλλ‘ λ³΄κΈ° μ½κ² μμ μμλλ‘ μ 리
- Error λ°μ μ, νμλ€μ΄ μΆν κ°μ μλ¬λ‘ κ³ μνμ§ μλλ‘ μ 리
- 컨벀μ μ 리
- ERD, μνμ€λ€μ΄μ΄κ·Έλ¨, κΈ°λ₯λͺ μΈμ λ± λͺ¨λκ° κ³΅μ ν΄μΌ νλ λ¬Έμ κ΄λ¦¬
- [κΈ°λ₯λͺ μΈμ](./docs/shabit_κΈ°λ₯ λͺ μΈ.png)
- λμμΈ
- [μ μ μλ리μ€](./docs/shabit_μ μ μλ리μ€.md)
- μνμ€λ€μ΄μ΄κ·Έλ¨
- μν€ν μ²
- API
- ERD
- νμλ‘
- ν μ€νΈ μλ리μ€




















