πμ¬μ©μκ° μ°¨λ κ²½νμ 곡μ νλ μΉ κΈ°λ° C2C μμΉ νλ«νΌ TDDμ λλ€.(https://letstdd.site)
TDD μλΉμ€λ μ¬μ©μλ€κ° μμΉμ 곡μ ν¨μΌλ‘μ μ°¨λμ λν λ€μ±λ‘μ΄ κ²½νμ μ 곡νκ³ μ κΈ°νλμμ΅λλ€.
μ°λ¦¬λ TDDμλΉμ€λ₯Ό ν΅ν΄ μ¬μ©μλ€μκ² μ°¨λμ λν μ°μν μ κ·Όμ±κ³Ό λ€μν κ²½νμ νλνλ κ²μ λͺ©νλ‘ νκ³ μμ΅λλ€.
μ¬μ©μλ€κ°μ μμΉμ 곡μ ν¨μΌλ‘μ μ°¨λμ λν μ°λ¦¬λ μ΄ λΆνΈν¨λ€μ ν΄κ²°νκ³ μ νμ΅λλ€. μΈλΆμ μΈ κ³ λ―Ό μ¬νλ€μ νΌμ κ°μ§κ³ μμ§ λ§κ³ , κ²½νμ μ΄μ©ν΄λ³΄λ©΄μ μμν΄λ³΄μΈμ.
μλμ°¨ μμΉμ ν΄λ³΄κ³ μΆμ μ μ μ μλμ°¨λ₯Ό λμ¬ν΄μ£Όκ³ μ΄λμ μ·¨νκ³ μΆμ μ μ λ₯Ό 맀μΉν΄μ£Όλ νλ«νΌμ λλ€. μ°¨λ₯Ό ꡬ맀νκΈ° μ λ€μν μ°¨λ₯Ό μ§μ 체νν΄ λ³΄κ³ μΆμ μ¬μ©μ, μ€μ μ¬μ©μμ μ€μ¬μ© νκΈ°λ₯Ό λ£κ³ μΆμ μ¬μ©μλ₯Ό 맀μΉν΄μ€λλ€.
- μ£Όλ³μ μμΉν κ³³μ΄ λ§λ ν μλ μ¬μ©μ
- λ€μν μ°¨λ₯Ό 체νν΄λ³΄κ³ μΆμ μ¬μ©μ
- μ€μ μ¬μ©μμ κ°κ΄μ μΈ λ¦¬λ·°λ₯Ό λ£κ³ μΆμ μ¬μ©μ
- μ£Όλ³μ μμΉν μ μλ κ³³μ΄ λ§λ μΉ μμ μ¬λλ€μκ² λΉκ΅μ κ°κΉμ΄ 거리μ λ€μν μκ°λμ μμΉν μ μλ κΈ°νλ₯Ό μ 곡ν©λλ€.
- λ΄κ° μνλ μ΅μ μ μ°¨λ, λμ λΉμ·ν νκ²½μμ μννλ μ¬λμ μ°¨λμ κ²½νν μ μμ΅λλ€.
- μ€μ μ°¨λ μμ μμ κ°κ΄μ μΈ λ¦¬λ·°λ₯Ό μ»μ μ μμ΅λλ€.
μ§κΈμ "μ°¨"λΌλ λλ©μΈ, "μμΉ"μ΄λΌλ μλΉμ€μ νμ λμ΄ μμ§λ§ μ΄λ₯Ό νμ₯μμΌ λͺ¨λ 물건μ λν΄ μ¬μ©μλ€λΌλ¦¬ 체νν μ μλλ‘ λ§€μΉμμΌμ£Όλ νλ«νΌμΌλ‘ λ°μ ν μ μμ΅λλ€.
Letβs TDD. Try, Drive, Delightly. TDDμμ Tμ Dλ₯Ό κ°μ§κ³ νΈλ€μ μΆμννμ΅λλ€. μ 체μ μΈ λͺ¨μμ 곡μ νμ νμννμμ΅λλ€.
(μμ° μμ)
dev λΈλμΉμ mergeλλ νΉμ pushλλ λͺ¨λ λ΄μ©μ λΉλ/ν μ€νΈλ₯Ό μλμΌλ‘ μννμ¬ ν΄λΌμ°λ μλ²(aws ec2)μ λ°°ν¬λκ³ μμ΅λλ€.
Dockerλ₯Ό μ΄μ©ν΄ μ΄λ―Έμ§ λ¨μλ‘ Github Actionμ ν΅ν΄ λ°°ν¬ νμ΄νλΌμΈμ ꡬμ±νμΌλ©° ν΄λΌμ°λ μλ²μμ 컨ν μ΄λλ₯Ό λμ°λ κ²μΌλ‘ λ°°ν¬νμ΅λλ€.
β Github action 보λ¬κ°κΈ°
API λ¬Έμ μλν λκ΅¬μΈ Swaggerλ₯Ό μ΄μ©νμ¬ νλ‘ νΈμλ κ°λ°μ λΆλ€κ³Ό νμ νμ΅λλ€.
λ€μκ³Ό κ°μ΄ μ½λκΈ°λ° API Docs μλμμ±μ ν΅ν΄ νλ‘ νΈμλ κ°λ°μλΆλ€μ΄ μΌμΌμ΄ jsonμ λ©΄λλ©΄ νΉμ μ½λλ‘ νμΈν΄ λ³Ό νμμμ΄ νμ ν μ μμμ΅λλ€.
β swagger API Docs 보λ¬κ°κΈ°
μ½λ© 컨벀μ μ μ€μνλ©΄ κ°λ μ±μ΄ μ’μμ§κ³ μ±λ₯μ μν₯μ μ£Όκ±°λ μ€λ₯λ₯Ό λ°μμν€λ μ μ¬μ μΈ μν μμλ₯Ό μ€μ¬μ€ μ μ§λ³΄μ λΉμ©μ μ€μΌ μ μμ΅λλ€.
IntelliJμ Code style Formatterλ₯Ό μ΄μ©νμ¬ μ½λ 컨벀μ μ μ€μν μ μλλ‘ κ°μ νκ³ IntelliJμ Plugin μ€ νλμΈ Check style μ μ μ½λ λΆμ λꡬλ₯Ό μ΄μ©νμ¬ μ§μ λ κ·μΉμ μ΄κΈλλ κ²½μ° commit μ κ²½κ³ λ₯Ό ν΅ν΄ μ½λ 컨벀μ μ μ€μνμ΅λλ€.
μ½λ 리뷰μμ΄λ κ°λ° λΈλμΉμΈ dev μ merge ν μ μλλ‘ κ°μ νμ΅λλ€.
μ½λ 리뷰λ₯Ό ν΅ν΄ μ½λμ νμ§μ κ°μ νκ³ λ€λ₯Έ νμλ€μ΄ κ°λ°ν λ‘μ§μ μ΄ν΄νκ³ νμ ν μ μμ΅λλ€.
SSL μΈμ¦μλ ν΄λΌμ΄μΈνΈμ μλ²κ°μ ν΅μ μ μ 3μκ° λ³΄μ¦ν΄μ£Όλ μ μνλ λ¬Έμμ λλ€.
SSLνλ‘ν μ½μ μ΄μ©νμ¬ μλ²μ ν΄λΌμ΄μΈνΈ μ¬μ΄μ λͺ¨λ λ°μ΄ν°λ₯Ό μνΈν νμ΅λλ€.
- Typescript: Typescriptλ Objectμ νμ μ λͺ μν μ μμ΅λλ€. κ·Έλμ μλ°μ€ν¬λ¦½νΈλ₯Ό μ€μ λ‘ μ¬μ©νκΈ° μ μ μμλ§ν νμ μλ¬λ€μ 미리μ‘κΈ° μν΄ μ¬μ©ν©λλ€. λ κ°λ°λꡬμκ² κ°λ°μκ° μλν λ³μλ ν¨μλ±μ λͺ©μ μ λμ± λͺ ννκ² μ λ¬ κ°λ₯νκ³ μ λ¬λ μ 보λ₯Ό κΈ°λ°μΌλ‘ μ½λ μλμμ±μ΄λ μλͺ»λ λ³μ/ν¨μ μ¬μ©μ λν μλ¬ μλ¦Ό κ°μ νλΆν νΌλλ°±μ λ°μ μ μκ² λλ―λ‘ μμ μλ°μ€ν¬λ¦½νΈμ λΉν΄ μμμ± ν₯μμ κΎν μ μμμ΅λλ€.
- SCSS: CSSλ HTML νκ·Έλ₯Ό κΎΈλ―Έκ±°λ ν¨κ³Όλ₯Ό λ£μ΄ μ£Όλ λ± λμμΈ μμλ₯Ό μΆκ°ν λ μ¬μ©νλ μ μ²λ¦¬ κ³Όμ μ λλ€. νλ‘μ νΈ κ·λͺ¨κ° 컀μ§λ©΄ CSSλ λΆκ°νΌνκ² κ°λ μ±μ΄ λ¨μ΄μ§λ λ± μ μ§λ³΄μμ μ΄λ €μμ μ£Όλ μμκ° λ©λλ€. μ½λμ μ¬νμ©μ±μ μ¬λ¦¬κ³ , κ°λ μ±μ μ¬λ¦¬λ λ± CSSμμ 보μ΄λ λ¨μ μ 보μνκ³ , κ°λ°μ ν¨μ¨μ μ¬λ¦¬κΈ° μν΄ SCSSλ₯Ό μ¬μ©νμ΅λλ€. λνμ μΈ μ₯μ μΌλ‘λ λ³μ μ¬μ© κ°λ₯, nesting(μ€μ²©) κ°λ₯, mixin, import, export μ¬μ© κ°λ₯, νλ¦ μ μ΄ κ°λ₯μ νΈλ¦¬ν κΈ°λ₯λ€μ΄ μμ΅λλ€.
- Axios: Β response timeout (fetchμλ μλ κΈ°λ₯) μ²λ¦¬ λ°©λ²μ΄ μ‘΄μ¬ν©λλ€. Promise κΈ°λ°μΌλ‘ λ§λ€μ΄μ‘κΈ° λλ¬Έμ λ°μ΄ν° λ€λ£¨κΈ° νΈλ¦¬ν©λλ€. λνν¬λ‘μ€ λΈλΌμ°μ§ μ΅μ νλ‘ λΈλΌμ°μ νΈνμ±(ꡬν λΈλΌμ°μ μ§μ)μ΄ λ°μ΄λκΈ°μ μ±ννμ΅λλ€.
- Google Maps API: μ΄κΈ° λ λλ§ μ λΉ λ₯΄λ€λ μ₯μ μ΄ μμ΅λλ€. νκ· λ λλ§ μκ°μ΄ 38.6msλ‘ μ§λμμ κ²μ κΈ°λ₯μ μ§μνμ§ μκΈ° λλ¬Έμ μλ λ©΄μμ μ¬ν λ€λ₯Έ μ§λ APIμ λΉν΄ μ₯μ μ΄ μμ΅λλ€. Google Maps APIλ ν΄μΈμ μ§λκΉμ§ μ§μν΄μ£ΌκΈ° λλ¬Έμ μλΉμ€μ νμ₯μ±κΉμ§ κ³ λ €νκ³ , κ΅λ΄μμ μ 곡ν΄μ£Όλ μ§λμ λΉν΄ μΈκ³μ μΌλ‘ μ¬μ©νλ μ§λμ΄κΈ° λλ¬Έμ κ΄λ ¨ Referenceκ° λ§μ μ΄λ₯Ό μ¬μ©νμ΅λλ€.
- JWT: μ¬μ©μμ λ‘κ·ΈμΈ μΈμ¦ λ° κΆν μ μ§ κΈ°μ λ‘ JWTν ν° λ°©μμ μ ννμμ΅λλ€. JWTκΈ°λ° μ¬μ©μ μΈμ¦ λ° κΆν μ μ§
- CORS
- Cookie
- Geolocation, Reverse Geocoder
- μ»΄ν¬λνΈ λ°©μ new ν€μλμ subscribe
- SCSS module hashing Collision
- λμ€μ μΆκ°νκ³ μΆμ κΈ°λ₯
cd ./frontend
npm install
npm run dev //localhost:5173
cd ./backend
./gradlew bootJar
java -jar ./build/libs/back-end-0.0.1-SNAPSHOT.jar
- μ¬μ©μ/κΈ°μ¬μλ€μ΄ νλ‘μ νΈλ₯Ό μ΄μ©ν μ μλ λ°©λ²κ³Ό μμ
- μμ λ¬Έμ μ λν μ°Έκ³ μ¬ν
- νλ‘μ νΈ μ€ν μμ νλ©΄μ μ€ν¬λ¦°μ·
- νλ‘μ νΈμμ μ¬μ©λ ꡬ쑰λ λμμΈ μμΉμ μΆκ°ν μ μμ΅λλ€.
μ΄λ―Όμ¬ |
μ΄μ μ |
---|---|
@MyuB | @2je0 |
κΉκ°μ° |
κΉμ§μΈ |
λ°μΉλ―Ό |
---|---|---|
@River-Mt | @jieonkim23 | @psm9718 |
- λ€λ₯Έ κ°λ°μλ€μ΄ νλ‘μ νΈμ μ΄λ»κ² κΈ°μ¬ν μ μλμ§μ λν κ°μ΄λλΌμΈ
- μ ν리μΌμ΄μ μ ν μ€νΈλ₯Ό μν΄ μμ μ½λμ μ€ν λ°©μ