ํ๊ตญ์ด | English
๋ณธ ํ๋ก์ ํธ๋ 'Handshaker' ์ฌ์ ์ ์ผ๋ถ ํ๋กํ ํ์ ์ ์์ ์ํด ์งํ๋์์ต๋๋ค.
๐ก ํด๋น ํ์ด์ง ๋งํฌ: QUIZMAKER
- ํ์ต์ง ์ด๋ฏธ์ง ๋ฐ์ดํฐ์์ ๋ฌธํญ์ ๋ณด๋ฅผ ์ถ์ถํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ ํ ํด๋น ๋ด์ฉ์ ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ์์ ์ ์ ๊ฐ๋ฅํ๋๋กํ๋ ํ๋ซํผ
1๏ธโฃ ํ์ต ๋ฌธ์ ์ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ ๋ฐฉ์์ผ๋ก ๋ฑ๋กํ๋ค.
2๏ธโฃ ํ์ต์ง ์ด๋ฏธ์ง ๋ฐ์ดํฐ์์ ๋ฅ๋ฌ๋์ ์ด์ฉํ์ฌ ๋ฌธํญ์ ๋ณด๋ฅผ ์ถ์ถํ๋ค.
โถ ๊ฒฐ๊ณผ
๋ถ๋ฅ | ๊ธฐ์ |
---|---|
๊ฐ๋ฐํ๊ฒฝ | |
Frontend | |
Backend | |
DB | |
Deep learning | |
Etc |
Name | Port | Description |
---|---|---|
Nginx | 80 | ๊ฐ๋ฒผ์๊ณผ ๋์ ์ฑ๋ฅ์ ๋ชฉํ๋ก ํ๋ ์น์๋ฒ๋ก ์๋ฒ๋ก์์ ์ญํ ๊ณผ ํ๋ก์๋ก์์ ์ญํ ์ ์ํํฉ๋๋ค. |
React(on Nginx) | 80, 3000 | ํ์ต ๋ฌธ์ ์ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ ๋ฐฉ์์ผ๋ก ๋ฑ๋กํ๋ฉด, ํด๋น ๋ฌธ์ ์ ๋ฌธํญ๋ด์ฉ, ๋ณด๊ธฐ, ์ ์ง๋ฅผ ๋ถ๋ฅํ์ฌ ํ ์คํธ ๋ฐ ์ด๋ฏธ์ง๋ก ์ ์ฅํ ์ ์๋ UI๋ฅผ ์ ๊ณตํฉ๋๋ค. |
Flask + Gunicorn | 8000, 5000 | QUIZRIX์ ์๋ฒ. ๋ชจ๋ ํ๋์ ์ค์ฌ์ ์์นํ์ฌ ์น์๋ฒ, Cloud Storage, DB ๊ฐ์ ์ํต์ ๋ด๋นํฉ๋๋ค. |
Mongo DB | 27017 | Database |
Grafana | 3001 | cAdvisor, Prometheus, NodeExporter๋ฅผ ํตํด ์ ๋ฌ๋ฐ์ ์๊ฐ๋ณ ๋งคํธ๋ฆญ ๋ฐ์ดํฐ๋ฅผ ์๊ฐํํ์ฌ ๋์๋ณด๋๋ก ์ ๊ณตํด์ค๋๋ค. |
cAdvisor | 8080 | ์ฌ์ฉ์ค์ธ ๋์ปค ์ปจํ ์ด๋์ ๋ฆฌ์์ค ์ฌ์ฉ๋์ ์ธก์ ํ์ฌ ์๊ณ์ด ๋งคํธ๋ฆญ ๋ฐ์ดํฐํํฉ๋๋ค. |
Prometheus | 9090 | cAdvisor, node exporter์ ์๊ณ์ด ๋งคํธ๋ฆญ ๋ฐ์ดํฐ๋ฅผ ์์งํ์ฌ ์์คํ ๋ชจ๋ํฐ๋ง ๋ฐ ๊ฒฝ๊ณ ํฉ๋๋ค. |
Node Exporter | 9100 | ์๋ฒ์ cpu, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ, ๋คํธ์ํฌ ์ฌ์ฉ๋๋ฑ ํธ์คํธ ๊ด๋ จ ๋งคํธ๋ฆญ ๋ฐ์ดํฐ๋ฅผ ์์งํ์ฌ api๋ก ๋ ธ์ถ์ํต๋๋ค. |
๐ฆMandoo
โฃ ๐alertmanager
โ โ ๐config.yml // alert manager config file
โฃ ๐backend
โ โฃ ๐models // YOLO v5
โ โ โฃ ๐hub
โ โฃ ๐utils // YOLO v5
โ โ โฃ ๐aws
โ โ โฃ ๐flask_rest_api
โ โ โฃ ๐google_app_engine
โ โ โฃ ๐wandb_logging
โ โฃ ๐Dockerfile // flask_app container included in docker-compose.yml
โ โฃ ๐README.md
โ โฃ ๐app.py // Flask server
โ โฃ ๐choice5_bestweight.pt // Pretrained Pytorch weights (answer to 5 choices)
โ โฃ ๐detection.py // Detect input image
โ โฃ ๐development.py // Jwt key, algorithm for development
โ โฃ ๐kakaoOcr.py // extract text
โ โฃ ๐modelv2.0.pt // Pretrained Pytorch weights (image to question/content/answer)
โ โ ๐requirements.txt
โฃ ๐frontend
โ โฃ ๐node_modules
โ โฃ ๐public
โ โฃ ๐src
โ โ โฃ ๐components
โ โ โ โฃ ๐Modals // image select modal
โ โ โ โ โฃ ๐Modal.css
โ โ โ โ โ ๐Modal.js
โ โ โ โฃ ๐BlankTop.js // Margin between components
โ โ โ โฃ ๐Button.js // Button component
โ โ โ โฃ ๐Header.css
โ โ โ โฃ ๐Header.js // Page Header
โ โ โ โฃ ๐logo.PNG // Project Logo
โ โ โ โฃ ๐Search.js // Table Search Function
โ โ โ โฃ ๐Table.js // Main Page Table
โ โ โ โ ๐TableCell.js // Tabel Cell hover
โ โ โฃ ๐pages
โ โ โ โฃ ๐imgIcon.png // Modal Icon
โ โ โ โฃ ๐Loader.js // Loading Page
โ โ โ โฃ ๐Login.js // Login Page
โ โ โ โฃ ๐loginLogo.PNG // Project Logo
โ โ โ โฃ ๐MainPage.js // MainPage
โ โ โ โฃ ๐noLogin.PNG // noLogin Page
โ โ โ โ ๐Signup.js // Signup Page
โ โ โ โฃ ๐App.js // pages components manage
โ โ โ โฃ ๐config.js
โ โ โฃ ๐index.css
โ โ โ ๐index.js
โ โฃ ๐Dockerfile // react container included in docker-compose.yml
โ โ ๐README.md
โฃ ๐grafana
โ โฃ ๐provisioning
โ โ โฃ ๐dashboards
โ โ โ โฃ ๐dashboard.yml // dashboard provider config file
โ โ โ โฃ ๐Docker Prometheus Monitoring.json // monitoring general information
โ โ โ โ ๐FlaskApp_Monitoring.json // monitoring Flask Application API
โ โ โ ๐datasources
โ โ โ โ ๐datasource.yml // admin config file
โ โ ๐config.monitoring
โฃ ๐nginx
โ โ ๐nginx.conf // nginx default config file
โฃ ๐prometheus
โ โฃ ๐alert.rules // alert.rule config file
โ โ ๐prometheus.yml // prometheus config file
โฃ ๐.gitignore
โฃ ๐docker-compose.yml // multi container application(Dockerfile) build file
โฃ ๐LICENSE
โฃ ๐README.md
โ ๐README_en.md
-
Clone Repository
git clone https://github.com/2021-Team-E/Mandoo.git
-
package.json
{ ... "proxy": "http://<ip>:<server_port>", ... }
-
config.js
export const USER_SERVER = "http://<ip>:<server_port>";
-
app.py
mongo = MongoClient('mongo_db', 27017)
-
requirements.txt
Dockerfile์์ ๋ฐ๋ก ์ค์นํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฃผ์์ฒ๋ฆฌํฉ๋๋ค.# requirements.txt ... # tesseract-ocr # pytesseract โฆ
-
s3.py <โ Make new file name 's3.py' in ./Backend
AWS_ACCESS_KEY = <AWS ACCESS KEY> AWS_SECRET_KEY = <AWS SECRET KEY> BUCKET_NAME = <AWS S3 bucket name> APPKEY = <Kakao API>
docker-compose up โ-build
- master : ์ ํ์ผ๋ก ์ถ์๋ ์ ์๋ ๋ธ๋์น
- develop : ๋ค์ ์ถ์ ๋ฒ์ ์ ๊ฐ๋ฐํ๋ ๋ธ๋์น
- feature : ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋ ๋ธ๋์น
- release : ์ด๋ฒ ์ถ์ ๋ฒ์ ์ ์ค๋นํ๋ ๋ธ๋์น
- hotfix : ์ถ์ ๋ฒ์ ์์ ๋ฐ์ํ ๋ฒ๊ทธ๋ฅผ ์์ ํ๋ ๋ธ๋์น
- ์๋ก์ด ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ์ํ
feature
๋ธ๋์น๋ฅผ ์์ฑํ ๋ ๋ธ๋์น ์ด๋ฆ์ ๋ค์๊ณผ ๊ฐ์ ๊ท์น์ผ๋ก ์์ฑํฉ๋๋ค. feature
๋ธ๋์น๋ ๋ง์ง๋งdevelop
๋ธ๋์น๋ก๋ถํฐ ์์ฑํฉ๋๋ค.- ๊ผญ ๋ธ๋์น๋ฅผ ์์ฑํ๊ธฐ ์ ์
develop
๋ธ๋์น๋ฅผpull
๋ฐ์ต๋๋ค.
- feature-user (์ฌ์ฉ์ ๊ด๋ จ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ feature branch)
์ปค๋ฐ ๋ฉ์ธ์ง๋ฅผ ์์ฑํ ๋๋ ๋ค์๊ณผ ๊ฐ์ ๊ท์น์ผ๋ก ์ผ๊ด์ฑ ์๊ฒ ์์ฑํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ปค๋ฐ ๋ฉ์ธ์ง๋ ์๋์ ๊ฐ์ด ์ ๋ชฉ / ๋ณธ๋ฌธ / ๊ผฌ๋ฆฌ๋ง๋ก ๊ตฌ์ฑํฉ๋๋ค.
type : subject
body
- feat : ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ
- fix : ๋ฒ๊ทธ ์์ , ๊ธฐ๋ฅ ์์
- docs : ๋ฌธ์ ์์
- refactor : ์ฝ๋ ๋ฆฌํฉํ ๋ง (๋ณ์๋ช ์์ ๋ฑ)
- test : ํ ์คํธ ์ฝ๋, ๋ฆฌํฉํ ๋ง ํ ์คํธ ์ฝ๋ ์ถ๊ฐ
- style : ์ฝ๋ ์คํ์ผ ๋ณ๊ฒฝ, ์ฝ๋ ์์ฒด ๋ณ๊ฒฝ์ด ์๋ ๊ฒฝ์ฐ, ์ฃผ์ ์ถ๊ฐ
- remove : ํ์ผ ๋๋ ์ฝ๋, ๋ฆฌ์์ค ์ ๊ฑฐ
- resource : ์ด๋ฏธ์ง ๋ฆฌ์์ค, prefab ๋ฑ์ ์ฝ๋์ ์๊ด์๋ ๋ฆฌ์์ค ์ถ๊ฐ
- ์ ๋ชฉ์ 50์๋ฅผ ๋๊ธฐ์ง ์๊ณ , ๋๋ฌธ์๋ก ์์ฑํ๊ณ ๋ง์นจํ๋ฅผ ๋ถ์ด์ง ์์ต๋๋ค.
- ๊ณผ๊ฑฐ์์ ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ช ๋ น์ด๋ก ์์ฑํฉ๋๋ค.
์์
feat : Add translation to missing strings
feat : Disable publishing
feat : Sort list context menu
feat : Resize minimize/delete handle icons so they take up the entire topbar
fix : Fix typo in cleanup.sh file
- ์ ํ์ฌํญ์ด๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ์ปค๋ฐ์ ๋ณธ๋ฌธ๋ด์ฉ์ ์์ฑํ ํ์๋ ์์ต๋๋ค.
- ๋ถ์ฐ์ค๋ช ์ด ํ์ํ๊ฑฐ๋ ์ปค๋ฐ์ ์ด์ ๋ฅผ ์ค๋ช ํ ๊ฒฝ์ฐ ์์ฑํฉ๋๋ค.
- ์ ๋ชฉ๊ณผ ๊ตฌ๋ถ๋๊ธฐ ์ํด ํ์นธ์ ๋์ ์์ฑํฉ๋๋ค.
- ๊ฐ ์ค์ 72์๋ฅผ ๋๊ธฐ์ง ์์ต๋๋ค.
- ๋ณธ๋ฌธ์ ๊ผญ ์์ด๋ก ์์ฑํ ํ์๋ ์์ต๋๋ค.
์๊ฒฉ ์ ์ฅ์์ Pull Requestํ๊ธฐ ์ ํ๋ก์ ํธ์ ํ์คํ ๋ฆฌ๋ฅผ ๋ค๋ฌ์ต๋๋ค.
rebase
๋ฅผ ์ํํ๊ธฐ ์ ์๊ฒฉ์ ์ฅ์์์ develop
๋ธ๋์น๋ฅผ pull
๋ฐ์ ์๊ฒฉ ์ ์ฅ์์ ๊ทธ๋์ ๋ฐ์๋ ์ปค๋ฐ์ ๊ฐ์ ธ์ต๋๋ค.
git checkout develop
git pull
git rebase develop feature/feature1
๐ก ์ฃผ์
์ด๋ฏธ ์๊ฒฉ ์ ์ฅ์์ pushํ ์ปค๋ฐ์ ์ ๋ rebaseํ๋ฉด ์๋ฉ๋๋ค.
Rebase๋ ๊ธฐ์กด์ ์ปค๋ฐ์ ๊ทธ๋๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผ ๋ด์ฉ์ ๊ฐ์ง๋ง ๋ค๋ฅธ ์ปค๋ฐ์ ์๋ก ๋ง๋ญ๋๋ค.
์ด๋ฆ | ๊ฐ๋ฐ๋ถ์ผ | ๋ด๋น | ์๊ฐํ์ด์ง |
---|---|---|---|
๐ฆฆ์ต์ค์ฌ | Front-end, Back-end, Deep learning | Web development,API Design, Data Engineering | ๊ฐ์ธ ๋ฆฌํฌ๋ก ์ด๋ |
๐ฅ์ด์ฑ๋ฆผ | Front-end, Devops | Web development, Docker | ๊ฐ์ธ ๋ฆฌํฌ๋ก ์ด๋ |
๐ฆฉ๋ฐ์ ์ | Front-end, Deep learning | Web development, Algorithm | ๊ฐ์ธ ๋ฆฌํฌ๋ก ์ด๋ |
๐น์ดํ์ | Back-end, Deep learning | API Design, Data Engineering | ๊ฐ์ธ ๋ฆฌํฌ๋ก ์ด๋ |
๐ฆRyan Lee | Deep learning | Algorithm | ๊ฐ์ธ ๋ฆฌํฌ๋ก ์ด๋ |
๐ข๋ฐ๊ทผ์ฐ | Devops | Cloud, Docker, Data Monitoring | ๊ฐ์ธ ๋ฆฌํฌ๋ก ์ด๋ |