- μλΉμ€ μκ°
- μ£Όμ κΈ°λ₯ λ° μμ°νλ©΄
- κΈ°λ³Έ κΈ°λ₯ λ° μμ°νλ©΄
- κ°λ°νκ²½
- μμ€ν νκ²½
- Technical Architecture Diagram
- νμ μκ°
187242914-c3ef1eeb-936c-4c8b-8719-fac0f7903fba.mp4
νμ μμ¬ μΌμΌμ μ€ννκ³ μμ§ μμΌμ κ°μ?
μμ¦ λ μ¨, λ°μ λκ°μ μ΄λνκΈ° νλ€μ£ ?
κ·Έλ₯ μ¨μ¬κΈ°λ λ²κ±°μ΄λ° μ΄λμ΄ μ¬λ―ΈμμΌλ©΄ μ΄λ»κ² ν΄μ?
νμ§λ§ μ΄λμ κ²μμ²λΌ μ¦κ²κ² ν μ μλ€λ©΄?
μνΈλμ€μ ν¨κ»λΌλ©΄ κ°λ₯ν©λλ€.
screen-recording__2_.webm
screen-recording__1_.webm
screen-recording.webm
-
π Frontend
- React v5.0.1
- node.js v16.14.0
- npm v8.7.0
- redux-toolkit v1.8.3
- styled-components v5.3.5
-
π CI/CD & Database
- AWS ec2 - Ubuntu 20.04.4 LTS
- Docker 20.10.12
- Jenkins 2.346.3
- nginx/1.18.0 (Ubuntu)
- MySQL 8.0.30-0ubuntu0.20.04.2
- certbot 0.40.0
-
π Backend
- Spring Boot 2.7.1
- Spring Data JPA 2.7.1
- Spring Security 5.7.2
- Spring Cloud 2.2.6
-
π Web RTC
- openVidu 2.22.0
-
π Tools
- Intellij 2022.2
- VS Code
- Google Chrome 104.0.5112.81
-
μ€νλ¦°(νμ₯)
- λ°±μλ
- User, Rankκ΄λ ¨ API ꡬν
- λ°μ΄ν°λ² μ΄μ€ μ€κ³
- Jenkinsλ₯Ό μ¬μ©ν μλλΉλ
- nginxμΈν
- EC2 μλ² νκ²½ μΈν λ° λ°°ν¬
- μ΅μ’ λ°ν
-
κΉμ€μ
- λ°±μλ
- user λ‘κ·ΈμΈ κ΄λ ¨ κΈ°λ₯ κ°λ°
- νλ‘μ°, μλ¦Ό, μ κ³ , μ΄μλ κΈ°λ₯ κ°λ°
-
λ₯νμ
- λ°±μλ
- Spring Security νμ©ν user μΈμ¦ ꡬν
- Openvidu νμ© WebRTC νκ²½ ꡬμΆ
- μμ λ‘κ·ΈμΈ κ΅¬ν(μΉ΄μΉ΄μ€)
-
λ°°μ€μ±
- νλ‘ νΈμλ
- μꡬμ¬ν λͺ μΈμ μμ±
- react-toolkit & react-router-dom νμ© SPA ꡬν
- axios μμ²μ ν΅ν api ν΅μ
- νν λ¦¬μΌ νμ΄μ§ μ μ
- λμμΈ λ° νλ‘ν νμ μ μ
- μ΄λλ³ μ λλ©μ΄μ μ μ
- styled-components νμ© css μ€νμΌλ§
- νμ κ³Ό μ½λ 리ν©ν λ§μ μν ESLint μ€μ
-
μ΄λκ·Ό
- νλ‘ νΈμλ
- react μ»΄ν¬λνΈ κ΅¬μ‘° μ€κ³
- react-toolkit & react-router-dom νμ© SPA ꡬν
- axios μμ²μ ν΅ν api ν΅μ
- νμ CRUD ꡬν (νμκ°μ , λ‘κ·ΈμΈ, μ 보 μμ , λΉλ°λ²νΈ μμ , νλ‘μ° λ±)
- μμ λ‘κ·ΈμΈ κ΅¬ν (μΉ΄μΉ΄μ€)
- Openvidu νμ© κ²μλ°© μ€μκ° λ°μ΄ν° κ΅ν ꡬν
- teachable machine νμ© λμμΈμ ꡬν
- styled-components νμ© css μ€νμΌλ§
-
νμ μ°
- λ°±μλ
- κ²μ κ΄λ ¨ κΈ°λ₯ (κ²μ μμ± λ° κ²°κ³Ό μ μ₯ λ±) API ꡬν
- μ¬μ©μ μ΄λ κΈ°λ‘ κ΄λ ¨ API ꡬν
- λ€μ΄μ΄λ¦¬ κ΄λ ¨ κΈ°λ₯, S3 λ²ν· μ°λ ν΅ν΄ 리μμ€ κ΄λ¦¬ API ꡬν
- EC2 μλ² νκ²½ μΈν
λ° λ°°ν¬
- DB μΈν λ° κ΄λ¦¬
- Nginx ν΅ν νλ‘μ μ€μ
- Certbot ν΅ν΄ SSL ꡬμΆ