Skip to content

Latest commit

ย 

History

History
427 lines (332 loc) ยท 14.3 KB

README.md

File metadata and controls

427 lines (332 loc) ยท 14.3 KB

SSAFY 9๊ธฐ ์ž์œจํ”„๋กœ์ ํŠธ

A310 ํ‘ธ๋ฅด๊น…

๋ฉ”์ธ๋ฐฐ๋„ˆ

0๏ธโƒฃ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

๐ŸŽˆ ํ”„๋กœ์ ํŠธ๋ช… : Purugging๐ŸŒ๐ŸŒฟ

๐Ÿ“Œ ํ”„๋กœ์ ํŠธ ์ปจ์…‰ : IoT๋ฅผ ํ™œ์šฉํ•œ ํ”Œ๋กœ๊น… ์„œ๋น„์Šค

๐Ÿ›  ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ : 23.10.09 ~ 23.11.17 (6์ฃผ)

๐Ÿง‘๐Ÿป ํŒ€์› : ์ธ์ •ํ™˜, ๊น€ํ•œ์ฃผ, ์†์„ธ์ด, ์กฐ์œค์ƒ, ์ฑ„ํ˜„์ข…, ํ•˜์ •ํ˜ธ

๐Ÿ’ป ์‚ฌ์šฉ ๊ธฐ์ˆ ์Šคํƒ : Flutter, SpringBoot, AWS + (4. ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜ ์ฐธ๊ณ )

1๏ธโƒฃ ํŒ€์› ์ •๋ณด ๋ฐ ์—…๋ฌด ๋ถ„๋‹ด ๋‚ด์—ญ


์ธ์ •ํ™˜

ํŒ€์žฅ, Embedded

๊น€ํ•œ์ฃผ

FE

์†์„ธ์ด

Embedded

์กฐ์œค์ƒ

BE

์ฑ„ํ˜„์ข…

BE

ํ•˜์ •ํ˜ธ

BE
์ด๋ฆ„ ์—ญํ•  ์„ค๋ช…
์ธ์ •ํ™˜ (ํŒ€์žฅ) Embedded H/W ํ”„๋ ˆ์ž„ ์ œ์ž‘
H/W ์‹œ์Šคํ…œ ์„ค๊ณ„
์Šคํ… ๋ชจํ„ฐ ๋“œ๋ผ์ด๋ฒ„ ๊ตฌํ˜„
์žฌํ™œ์šฉ ์“ฐ๋ ˆ๊ธฐ ๋ถ„๋ฅ˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„(์ดˆ์ŒํŒŒ ์„ผ์„œ, ์กฐ๋„ ์„ผ์„œ, LED)
Main Logic ์„ค๊ณ„
MQTT Protocol์„ ํ™œ์šฉํ•œ ์„œ๋ฒ„ ํ†ต์‹ 
๊น€ํ•œ์ฃผ Frontend(App) Flutter๋ฅผ ํ™œ์šฉํ•œ ๋ชจ๋ฐ”์ผ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ œ์ž‘
Google Map ์ด๋™ ๊ฒฝ๋กœ ํŠธ๋ž˜ํ‚น
QR Code์™€ MQTT๋ฅผ ํ†ตํ•œ Server์™€ IoT ๊ฐ„ ํ†ต์‹  ๊ตฌํ˜„
Figma๋ฅผ ํ™œ์šฉํ•œ ์™€์ด์–ดํ”„๋ ˆ์ž„, ๋ชฉ์—… ์ œ์ž‘
์†์„ธ์ด Embedded H/W ์„ค๊ณ„ (3D Modeling, Laser Cutting ๋„๋ฉด ์„ค๊ณ„)
ESP32 ํ†ต์‹  ์‹œ์Šคํ…œ ๊ตฌํ˜„
RPI ์‚ฌ์šฉ์ž ์ธ์ฆ ์‹œ์Šคํ…œ ๊ตฌํ˜„(QR ์ธ์‹, MQTT ํ†ต์‹ )
์กฐ์œค์ƒ Backend Notification Domain ๋‹ด๋‹น
Jenkins๋ฅผ ํ™œ์šฉํ•œ CI/CD ๊ตฌ์ถ•
Docker ๋ฐ EC2๋ฅผ ํ™œ์šฉํ•œ ์„œ๋ฒ„ ๋ฐฐํฌ
Nginx๋ฅผ ํ™œ์šฉํ•œ Reverse Proxy ์„ค์ •
Grapana & Prometheus๋ฅผ ํ™œ์šฉํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ตฌ์ถ•
ERD ์„ค๊ณ„
์ฑ„ํ˜„์ข… Backend ํ”„๋กœ์ ํŠธ ์ฃผ์ œ ๊ธฐํš
Member Domain ๋‹ด๋‹น
์ดˆ๊ธฐ ์ธํ”„๋ผ ๊ตฌ์ถ•
MongoDB๋ฅผ ํ™œ์šฉํ•œ ๊ฒฝ๋กœ ๊ธฐ๋Šฅ ๊ตฌํ˜„
OAuth๋ฅผ ํ™œ์šฉํ•œ ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ (Flutter & SpringBoot)
ERD ์„ค๊ณ„
๋ฐœํ‘œ
ํ•˜์ •ํ˜ธ Backend Skeleton code ์ž‘์„ฑ(Example domain ๋ฐ common)
Plogging Domain ๋‹ด๋‹น
Machine Domain ๋‹ด๋‹น
Campaing Domain ๋‹ด๋‹น
IoT-Server-App MQTT ํ†ต์‹  ๊ตฌํ˜„ (Broker: Mosquitto)
ERD ์„ค๊ณ„

2๏ธโƒฃ ์„œ๋น„์Šค ๋Œ€ํ‘œ ๊ธฐ๋Šฅ

๊ธฐ๋Šฅ ์ฃผ๊ธฐ๋Šฅ ์ƒ์„ธ ๊ธฐ๋Šฅ
1. ํšŒ์› 1.1 ์†Œ์…œ ๋กœ๊ทธ์ธ 1.1.1 Google OAuth ๋กœ๊ทธ์ธ
1.2 ํšŒ์› ์ •๋ณด ์ˆ˜์ • 1.2.1 ๋‹‰๋„ค์ž„ ๋ณ€๊ฒฝ
1.3 ํšŒ์› ํƒˆํ‡ด 1.3.1 ํšŒ์› ํƒˆํ‡ด ๊ธฐ๋Šฅ
1.4 ๋กœ๊ทธ์•„์›ƒ 1.4.1 ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ
1.5 ๋งˆ์ดํŽ˜์ด์ง€
2. ํ”Œ๋กœ๊น… 2.1 ํ”Œ๋กœ๊น… ์‹คํ–‰ 2.1.1 QR ์ƒ์„ฑ ๋ฐ ํ‘œ์‹œ
2.1.2 ์ง€๋„ ํ‘œ์‹œ
2.1.3 ์™„๋ฃŒ ์‚ฌ์ง„ ๋“ฑ๋ก
2.1.4 ์ฃผ๋ณ€ ์ธ์› ์•Œ๋ฆผ
2.2 ๋กœ๊ทธ (ํžˆ์Šคํ† ๋ฆฌ) 2.2.1 ํ”Œ๋กœ๊น… ๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ
2.2.2 ์‹œ๊ฐ„ ์กฐํšŒ
2.2.3 ๊ฑฐ๋ฆฌ ์กฐํšŒ
2.2.4 ์“ฐ๋ ˆ๊ธฐํ†ต ์ •๋ณด ์กฐํšŒ
2.2.5 ์‚ฌ์ง„ ๋ฐ ๋งˆ๋ฌด๋ฆฌ ๊ฒฐ๊ณผ ์กฐํšŒ
2.2.6 ํ”Œ๋กœ๊น… ๊ธฐ๋ก
3. ์ปค๋ฎค๋‹ˆํ‹ฐ 3.1 ์‚ฌ์šฉ์ž ๊ฐœ์ตœ ๋ชจ์ž„
3.2 ์บ ํŽ˜์ธ 3.2.1 ์บ ํŽ˜์ธ ์กฐํšŒ, ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ
4. ์“ฐ๋ ˆ๊ธฐํ†ต 4.1 ์“ฐ๋ ˆ๊ธฐํ†ต ์ƒํƒœ ํ™•์ธ 4.1.1 ์“ฐ๋ ˆ๊ธฐํ†ต๋ณ„ ์ผ๋ฐ˜ ์“ฐ๋ ˆ๊ธฐ ํ™•์ธ
4.1.2 ์“ฐ๋ ˆ๊ธฐํ†ต๋ณ„ ์žฌํ™œ์šฉ ์“ฐ๋ ˆ๊ธฐ ํ™•์ธ
4.2 ๋น„๋‹๋ด‰ํˆฌ ์ƒํƒœ ํ™•์ธ 4.2.1 ์“ฐ๋ ˆ๊ธฐํ†ต๋ณ„ ๋น„๋‹๋ด‰ํˆฌ ์–‘ ํ™•์ธ
5. ์•Œ๋ฆผ 5.1 ์บ ํŽ˜์ธ ์•Œ๋ฆผ
5.2 ํ”Œ๋กœ๊น… ์ข…๋ฃŒ ์•Œ๋ฆผ

3๏ธโƒฃ ์„œ๋น„์Šค ํ™”๋ฉด

์‹œ์ž‘

์‹œ์ž‘

๊ตฌ๊ธ€ ์†Œ์…œ ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž…

๋กœ๊ทธ์ธ

์บ ํŽ˜์ธ ๊ด€๋ จ ์„œ๋น„์Šค

์บ ํŽ˜์ธ ์ƒ์„ฑ

์บ ํŽ˜์ธ์ƒ์„ฑ

์บ ํŽ˜์ธ ์กฐํšŒ (๋ณธ์ธ ์ฃผ์ตœ)

์บ ํŽ˜์ธ ์กฐํšŒ

์บ ํŽ˜์ธ ์กฐํšŒ (ํƒ€์ธ ์ฃผ์ตœ)

์บ ํŽ˜์ธ์กฐํšŒ

ํ”Œ๋กœ๊น…

ํ”Œ๋กœ๊น… ์‹œ์ž‘

ํ”Œ๋กœ๊น… ์‹œ์ž‘

ํ”Œ๋กœ๊น… ์ง„ํ–‰

ํ”Œ๋กœ๊น… ์ง„ํ–‰

ํ”Œ๋กœ๊น… ์ข…๋ฃŒ

ํ”Œ๋กœ๊น… ์ข…๋ฃŒ

ํ”Œ๋กœ๊น… ๋ฆฌ์ŠคํŠธ

ํ”Œ๋กœ๊น… ๋ฆฌ์ŠคํŠธ

ํ”Œ๋กœ๊น… ์กฐํšŒ

ํ”Œ๋กœ๊น… ์กฐํšŒ

ํ”Œ๋กœ๊น… ์ด๋ฏธ์ง€

ํ”Œ๋กœ๊น… ์ด๋ฏธ์ง€


4๏ธโƒฃ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜ ๋ฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

System Architecture

System Architecture


๐ŸŒ ๊ณตํ†ต

์ƒ์„ธ ๋‚ด์šฉ
GitLab ํ˜•์ƒ ๊ด€๋ฆฌ
Jira ์ผ์ • ๋ฐ ์ด์Šˆ ๊ด€๋ฆฌ
Mattermost ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜
Notion ์ผ์ • ๋ฐ ๋ฌธ์„œ ๊ด€๋ฆฌ
Postman API ๋ฌธ์„œ ๊ด€๋ฆฌ
IntelliJ IDE
Visual Studio Code IDE
Android Studio IDE

๐Ÿ“ฑ FrontEnd

์ƒ์„ธ ๋ฒ„์ „
Flutter 3.13.8
Dart 3.1.4
google_maps_flutter 2.5.0
geolocator 10.1.0
mqtt_client 10.0.0
Android SDK 20 ์ด์ƒ

๐Ÿ’พ BackEnd

์ƒ์„ธ ๋ฒ„์ „
JDK (Zulu) 11.0.19
SpringBoot 2.7.16
Spring Data JPA 2.7.16
Spring Integration 2.7.16
Spring Integration MQTT 5.5.19
Eclipse paho client mqtt v3 1.2.5
MariaDB 8.0.35
MongoDB 2.0.1
Ubuntu 20.04
Nginx 1.18.0
Docker 24.0.7
Docker-compose 2.23.0
Jenkins 2.414.3

โ› Embedded

์ƒ์„ธ ๋ฒ„์ „
ESP32
Arduino IDE 2.2.1
ESPMqttClient 1.13.3
ArduinoJson 6.21.3
HX711 0.3.9
Ticker 4.4.0
Raspberry Pi
Paho-mqtt-c 3.3.1

5๏ธโƒฃ ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ ๋ฐ ํ”„๋กœํ† ํƒ€์ž…

๐Ÿ“ฑ App

๐Ÿ“‚ android
  ใ„ด๐Ÿ“‚ app
  	ใ„ด๐Ÿ“‚ src
  	ใ„ด๐Ÿ˜ build.gradle
  	ใ„ด๐Ÿ“„ google-services.json
  ใ„ด๐Ÿ“‚ gradle/wrapper
  ใ„ด๐Ÿ˜ build.gradle
  ใ„ด๐Ÿ˜ gradle.properties
  ใ„ด๐Ÿ˜ settings.gradle
๐Ÿ“‚ assets
  ใ„ด๐Ÿ“‚ font
  ใ„ด๐Ÿ“‚ image
  ใ„ด๐Ÿ“‚ logo
๐Ÿ“‚ ios
๐Ÿ“‚ lib
  ใ„ด๐Ÿ“‚ models
  	ใ„ด๐Ÿ“„ campaign_model.dart
  	ใ„ด๐Ÿ“„ machine_model.dart
  	ใ„ด๐Ÿ“„ plogging_model.dart
  	ใ„ด๐Ÿ“„ user_model.dart
  ใ„ด๐Ÿ“‚ screens
  	ใ„ด๐Ÿ“‚ campaign
  	ใ„ด๐Ÿ“‚ plogging
  	ใ„ด๐Ÿ“‚ profile
  	ใ„ด๐Ÿ“‚ start
  	ใ„ด๐Ÿ“„ home_screen.dart
  	ใ„ด๐Ÿ“„ main_screen.dart
  ใ„ด๐Ÿ“‚ services
  	ใ„ด๐Ÿ“„ auth_service.dart
  	ใ„ด๐Ÿ“„ campaign_services.dart
  	ใ„ด๐Ÿ“„ google_map_services.dart
  	ใ„ด๐Ÿ“„ machine_services.dart
  	ใ„ด๐Ÿ“„ member_services.dart
  	ใ„ด๐Ÿ“„ permission_services.dart
  	ใ„ด๐Ÿ“„ plogging_services.dart
  	ใ„ด๐Ÿ“„ qr_services.dart
  	ใ„ด๐Ÿ“„ time_services.dart
  ใ„ด๐Ÿ“‚ widgets
  	ใ„ด๐Ÿ“‚ bottom
  	ใ„ด๐Ÿ“‚ campaign
  	ใ„ด๐Ÿ“‚ home
  	ใ„ด๐Ÿ“‚ plogging
  	ใ„ด๐Ÿ“‚ profile
  	ใ„ด๐Ÿ“‚ shared
  	ใ„ด๐Ÿ“‚ start
  ใ„ด๐Ÿ“„ firebase_options.dart
  ใ„ด๐Ÿ“„ main.dart
๐Ÿ“‚ linux
๐Ÿ“‚ macos
๐Ÿ“‚ test
๐Ÿ“‚ web
๐Ÿ“‚ windows
๐Ÿ“„ .gitignore
๐Ÿ“„ .metadata
๐Ÿ“„ analysis_options.yaml
๐Ÿ“„ pubspec.lock
๐Ÿ“„ pubspec.yaml

๐Ÿ’พ BackEnd

๐Ÿ“‚ src/main/java
  ใ„ด๐Ÿ“ฆ com.puru.purugging
  	ใ„ด๐Ÿ“„ PuruggingApplication.java
  	ใ„ด๐Ÿ“ฆ campaign
    ใ„ด๐Ÿ“ฆ common
    	ใ„ด๐Ÿ“ฆ connectionCheck
    	  	ใ„ด๐Ÿ“„ ConnectionCheckController.java
    	ใ„ด๐Ÿ“ฆ exception
    	  	ใ„ด๐Ÿ“„ CommonErrorCode.java
    	  	ใ„ด๐Ÿ“„ CustomException.java
    	  	ใ„ด๐Ÿ“„ ErrorCode.java
    	  	ใ„ด๐Ÿ“„ GlobalExceptionHandler.java
    	ใ„ด๐Ÿ“ฆ model
    		ใ„ด๐Ÿ“„ BaseTimeEntity.java
    	ใ„ด๐Ÿ“ฆ mqtt
    		ใ„ด๐Ÿ“ฆ config
    			ใ„ด๐Ÿ“„ MessageGateway.java
    			ใ„ด๐Ÿ“„ MqttIntegrationConfig.java
    		ใ„ด๐Ÿ“ฆ service
    			ใ„ด๐Ÿ“„ MqttMessageHandler.java
    			ใ„ด๐Ÿ“„ MqttPublisher.java
    	ใ„ด๐Ÿ“ฆ pagination
    		ใ„ด๐Ÿ“„ MultiResponseDto.java
    		ใ„ด๐Ÿ“„ PageInfo.java
    	ใ„ด๐Ÿ“ฆ response
    		ใ„ด๐Ÿ“„ FailResponseDto.java
    		ใ„ด๐Ÿ“„ ResponseFactory.java
    		ใ„ด๐Ÿ“„ SuccessResponseDto.java
    ใ„ด๐Ÿ“ฆ global
    	ใ„ด๐Ÿ“ฆ config
    		ใ„ด๐Ÿ“„ FirebaseConfig.java
    		ใ„ด๐Ÿ“„ S3Config.java
    	ใ„ด๐Ÿ“ฆ exception
    		ใ„ด๐Ÿ“„ S3ErrorCode.java
    		ใ„ด๐Ÿ“„ S3Exception.java
    	ใ„ด๐Ÿ“ฆ memberInfo
    		ใ„ด๐Ÿ“„ MemberInfo.java
    		ใ„ด๐Ÿ“„ MemberInfoArgumentResolver.java
    	ใ„ด๐Ÿ“ฆ storage
    		ใ„ด๐Ÿ“„ S3Uploader.java
    	ใ„ด๐Ÿ“ฆ util
    		ใ„ด๐Ÿ“„ ImageUtil.java
    	ใ„ด๐Ÿ“ฆ vo
    		ใ„ด๐Ÿ“„ Image.java
    		ใ„ด๐Ÿ“„ ImageType.java
    		ใ„ด๐Ÿ“„ Location.java
  	ใ„ด๐Ÿ“ฆ machine
  	ใ„ด๐Ÿ“ฆ member
  	ใ„ด๐Ÿ“ฆ notification
  	ใ„ด๐Ÿ“ฆ plogging
๐Ÿ“‚ src/main/resources
    ใ„ด๐Ÿ“„ application.yml
    ใ„ด๐Ÿ“„ application-mq.yml
    ใ„ด๐Ÿ“„ application-s3.yml
    ใ„ด๐Ÿ“„ prometheus.yml
    ใ„ด๐Ÿ“„ firebase-service-account.json
๐Ÿ“„ .gitignore
๐Ÿณ docker-compose.yml
๐Ÿณ Dockerfile
๐Ÿ˜ build.gradle
๐Ÿ˜ gradlew
๐Ÿ˜ gradlew.bat
๐Ÿ˜ settings.gradle

โ› Embedded

๐Ÿ“‚ RPI3/api
  ใ„ด๐Ÿ“‚ include
  	ใ„ด๐Ÿ“„ QR.h
  	ใ„ด๐Ÿ“„ UserAuthentication.h
  ใ„ด๐Ÿ“‚ src
  	ใ„ด๐Ÿ“„ QR.cpp
  ใ„ด๐Ÿ“„ main.cpp
๐Ÿ“‚ arduino_mega2560
  ใ„ด๐Ÿ“‚ api
  ใ„ด๐Ÿ“„ main.ino
๐Ÿ“‚ docs/convention
๐Ÿ“‚ images
๐Ÿ“‚ models
  ใ„ด๐Ÿ“‚ 3d
  ใ„ด๐Ÿ“‚ laser
๐Ÿ“‚ test

6๏ธโƒฃ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ๋ง (ERD)

System Architecture

7๏ธโƒฃ Convention

Commit Convention

## Feat        : ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์˜ ์ถ”๊ฐ€
## Fix         : ๋ฒ„๊ทธ ์ˆ˜์ •
## Style       : CSS ๋“ฑ ์‚ฌ์šฉ์ž UI ๋””์ž์ธ ๋ณ€๊ฒฝ
## Refactor    : ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
## Test        : ํ…Œ์ŠคํŠธ(ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€/์ˆ˜์ •/์‚ญ์ œ)
## Docs        : ๋ฌธ์„œ(๋ฌธ์„œ ์ถ”๊ฐ€/์ˆ˜์ •/์‚ญ์ œ)
## Chore       : ๋นŒ๋“œ ์—…๋ฌด ์ˆ˜์ •, ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์ˆ˜์ •
## Rename      : ํŒŒ์ผ ํ˜น์€ ํด๋”๋ช…์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…๋งŒ ํ•˜๋Š” ๊ฒฝ์šฐ
## Cicd        : ๋ฐฐํฌ
## Env         : ํ™˜๊ฒฝ์„ค์ • ํŒŒ์ผ ์ถ”๊ฐ€/์ˆ˜์ •/์‚ญ์ œ
  • git commit -s ๋กœ signed-off-by ํ‘œ์‹œ
  • Commit Message ์–‘์‹
[Docs] Update README.md
<blank>
This commit updates README.md
<blank>
Signed-off-by: ์ธ์ •ํ™˜ <[email protected]>

Jira Convention

  • Basic Rule
- ์Šคํ”„๋ฆฐํŠธ๋Š” ๋ณดํ†ต ํ•œ ์ฃผ ๋‹จ์œ„๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ํ•œ ์ฃผ๊ฐ€ ์‹œ์ž‘ํ•  ๋•Œ๋งˆ๋‹ค ์Šคํ”„๋ฆฐํŠธ๋ฅผ ์‹œ์ž‘ํ•ด์ฃผ์„ธ์š”.
- ๋งค์ฃผ ์›”์š”์ผ ์˜ค์ „์— ์Šคํฌ๋Ÿผ ํšŒ์˜๋ฅผ ํ†ตํ•ด ์ด๋ฒˆ ์ฃผ ํ•  ์ผ์„ ๋…ผ์˜ํ•˜์—ฌ ๋ฐฑ๋กœ๊ทธ์— ๋“ฑ๋กํ•˜๊ณ , ์Šคํ”„๋ฆฐํŠธ์— ์˜ฌ๋ ค ์Šคํ”„๋ฆฐํŠธ๋ฅผ ์‹œ์ž‘ํ•ด์ฃผ์„ธ์š”.
- ์—ํ”ฝ(ํฐ ํ‹€)์€ ํฐ ๋‹จ์œ„์˜ ๊ณตํ†ต๋œ ๋ถ„๋ฅ˜(ํšŒ์˜, ๊ธฐํš, ์„ค๊ณ„, FE๊ฐœ๋ฐœ, BE๊ฐœ๋ฐœ, EM๊ฐœ๋ฐœ, ๋ฐœํ‘œ ๋“ฑ)๋กœ ๋“ฑ๋กํ•ด์ฃผ์„ธ์š”. ์Šคํ† ๋ฆฌ, ์ž‘์—…์—๋Š” ์ •๋‹ต์ด ์—†์Šต๋‹ˆ๋‹ค. ํŒ€ ๋‚ด์—์„œ ์ƒ์˜ํ•˜์—ฌ ๋ฃฐ์„ ์ •ํ•œ ํ›„ ์ง€์ผœ์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
- ๋ชจ๋“  ์ด์Šˆ๋Š” ์—ํ”ฝ๊ณผ ์—ฐ๋™๋˜์–ด์•ผ ํ•˜๋ฉฐ, ์Šคํ† ๋ฆฌํฌ์ธํŠธ์™€ ๋‹ด๋‹น์ž๋„ ๋“ฑ๋ก๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
- ์Šคํ† ๋ฆฌํฌ์ธํŠธ๋Š” 1ํฌ์ธํŠธ๋‹น 1์‹œ๊ฐ„์„ ์˜๋ฏธํ•˜๋ฉฐ, ํ•œ ์ฃผ์˜ ์›Œํ‚น๋ฐ์ด์— ๋งž๊ฒŒ ๋“ฑ๋กํ•ด์ฃผ์„ธ์š”!
- ํ•œ issue๋‹น 4ํฌ์ธํŠธ ๋„˜๊ฒŒ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์€ ์ง€์–‘ํ•ด์ฃผ์„ธ์š”. (ํ•œ ์—…๋ฌด๋‹น 4์‹œ๊ฐ„์„ ๋„˜๊ฒŒ ๋ฐฐ๋‹นํ•œ๋‹ค๋Š” ๊ฒƒ์€ ํšจ์œจ์ ์œผ๋กœ ์ผ์„ ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค๋Š” ์ธ์ƒ์„ ์ค๋‹ˆ๋‹ค.)
- issue๋Š” ์ง„ํ–‰์ƒํ™ฉ์— ๋”ฐ๋ผ ํ•  ์ผ, ์ง„ํ–‰ ์ค‘, ์™„๋ฃŒ๋กœ ์˜ฎ๊ฒจ๊ฐ€๋ฉฐ ์ง„ํ–‰ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

8๏ธโƒฃ Git Flow

master
develop
โ”” FE frontend
	โ”” feature
		โ”” domain๋ช…
โ”” BE backend
	โ”” feature
		โ”” domain๋ช…
โ”” EM embedded
	โ”” feature
		โ”” domain๋ช…
  • master : develop ๋ธŒ๋žœ์น˜์—์„œ ํ…Œ์ŠคํŠธ ์™„๋ฃŒ ํ›„ master ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉ (๋ฒ„์ „)

  • develop : ๊ฐ ํŒŒํŠธ ๋ธŒ๋žœ์น˜์—์„œ develop ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉ ํ›„ ํ…Œ์ŠคํŠธ