- νλ‘ νΈμλ GitHub Repository : https://github.com/ErunJrun/ErunJrun_FE
- λ°±μλ GitHub Respository : https://github.com/ErunJrun/ErunJrun_BE
- μμ° μμ 보λ¬κ°κΈ°: https://www.youtube.com/watch?v=j64DAMz1pDw
2022.04.22 ~ 2022.06.03 (6μ£Ό)
| μ μ§μ΄ | κΉλ€μ΄ |
|---|---|
Front-End |
Front-End |
β
νμ΄μ§
λ‘κ·ΈμΈ νμ΄μ§, λ©μΈ νμ΄μ§, κ·Έλ£Ήλ¬λ νμ΄μ§, μΆμ²μ½μ€ νμ΄μ§, κ·Έλ£Ήμ±ν
β
κΈ°λ₯
μΉ΄μΉ΄μ€ λ‘κ·ΈμΈ λ€μ΄λ² λ‘κ·ΈμΈ JWTν ν°(Access, Refresh) μ μ©
``
λ°°λ&κ²μλ¬Ό μ¬λΌμ΄λ `μλ¦Ό κΈ°λ₯` `μ€λ³΅ νν° κ²μ κΈ°λ₯` `μΊλ¦°λ κΈ°λ₯`
`κ²μκΈ κ΄λ ¨ κΈ°λ₯(μ‘°ν,λ±λ‘,μμ )` `μΉ΄μΉ΄μ€ μ§λ μ°λ(Polyline λλ‘μ)` `μ¬μ§ λ€μ€ μ
λ‘λ`
`μΉ΄μΉ΄μ€ κ³΅μ νκΈ° κΈ°λ₯` `λκΈ & λλκΈ κΈ°λ₯` `λ¬λ μ μ²νκΈ°` `Scroll μ΄λ²€νΈ κΈ°λ₯` `λΆλ§ν¬ κΈ°λ₯` `νμ κΈ°λ₯`
`CI/CD μΈν
λ° λ°°ν¬νκ²½ ꡬμΆ(AWS Route53, Amplify)`
`λ°μνCSS ꡬν`
β
νμ΄μ§
λ§μ΄ νμ΄μ§, λλ© νμ΄μ§, μΆμμ²΄ν¬ νμ΄μ§, νΈμ€νΈ νκ° νμ΄μ§
β
κΈ°λ₯
μΆμμ²΄ν¬ νΈμ€νΈ νκ° μλΉμ€ μκ° λͺ¨λ¬ μ¬λΌμ΄λ
ν΄λν° μΈμ¦ νμ νν΄ κΈ°λ₯ νμ μ 보 μμ μ¬μ§ μ
λ‘λ
μ°Έμ¬ μμ , μ°Έμ¬ μλ£, λ΄κ°λ§λ κ·Έλ£Ήλ¬λ, λΆλ§ν¬ ν κ²μλ¬Ό, λ΄κ°λ§λ μ½μ€μΆμ² κ²μκΈ μ‘°ν νΈμ€νΈ νκ° ν μ‘°ν
λ°μνCSS ꡬν
- λ³λμ μ 보 μ λ ₯ μμ΄ κ°νΈνκ² λ‘κ·ΈμΈν μ μμ΅λλ€.
- λ€λ₯Έ μ¬λκ³Ό λ°κ³ μΆμ μ½μ€λ₯Ό μ§μ κ·Έλ €μ ν¨κ» λΈ μ¬λμ λͺ¨μ§ν μ μμ΅λλ€.
- μ±ν μ ν΅ν΄ μ§λ¬Έκ³Ό λ΅λ³μ λν μν΅μ ν μ μμ΅λλ€.
- μΆμ체ν¬μ ν¬λ£¨μ₯ νκ°λ₯Ό ν΅ν΄ κ·Έλ£Ήλ¬λμ λν νκΈ°λ₯Ό λ¨κΈΈ μ μμ΅λλ€.
- μΆμ체ν¬μ ν¬λ£¨μ₯ νκ°λ μ μ μ κ΅Ώλ¬λ λ 벨과 μ°λλ©λλ€.
- λ΄κ° λ°μ΄λ³Έ μ½μ€λ₯Ό μ§μ κ·Έλ €μ λλ§μ μ½μ€ λ§μ§μ λ€λ₯Έ μ¬λκ³Ό 곡μ ν μ μμ΅λλ€.
- μ μ²ν κ·Έλ£Ήλ¬λμ μμ§ μκ³ μ°Έμνκ³ νκΈ°λ₯Ό λ¨κΈΈ μ μλλ‘, SMS λ¬Έμ μλ¦Όμ 보λ΄λ립λλ€.
리μ€νΈ
| Name | Appliance | Version |
|---|---|---|
| swiper | μ¬λΌμ΄λ | 2.1.2 |
| sweetalert | μλ¬ λ©μΈμ§ νΈλ€λ§ | 2.1.2 |
| styled-components | μ»΄ν¬λνΈ μ€νμΌλ§ | 5.3.5 |
| Redux | μν κ΄λ¦¬ | 4.2.0 |
| axios | μλ²ν΅μ | 0.26.1 |
| React-redux | μνκ΄λ¦¬ | 8.0.1 |
| React-router-dom | λΌμ°ν° | 5.3.0 |
| Redux-thunk | 리λμ€ λ―Έλ€μ¨μ΄ | 2.4.1 |
| Redux-actions | μ‘μ κ΄λ¦¬ | 2.6.5 |
| Connected-react-router | νμ€ν 리 κ°μ²΄ κ΄λ¦¬ | 6.9.2 |
| Immer | λΆλ³μ± μ μ§ | 9.0.12 |
| History | νμ΄μ§ μ΄λ | 4.10.1 |
| express-rate-limit | API μ¬μ©λ μ ν(보μ) | 6.4.0 |
| react-geocode | μλ,κ²½λλ‘ μ£Όμ μ»κΈ° | 0.2.3 |
| react-calendar | λ¬λ ₯ | 3.7.0 |
| react-icons | μμ΄μ½ | 4.3.1 |
| react-responsive | λ°μν μΉ | 9.0.0-beta.6 |
| React-share | SNS 곡μ νκΈ° | 4.4.0 |
| Dayjs | λ μ§, μκ° λΌμ΄λΈλ¬λ¦¬ | 1.11.0 |
| react-scroll | μ€ν¬λ‘€ | 1.8.7 |
| react-date-range | λ¬λ ₯ λ μ§ λ²μ | 1.4.0 |
| react-datepicker | μΊλ¦°λ | 4.7.0 |
| react-intersection-observer | 무ν μ€ν¬λ‘€ | 9.1.0 |
| react-kakao-maps-sdk | μΉ΄μΉ΄μ€ μ§λ | 1.0.6 |
| react-photo-collage | μ΄λ―Έμ§ λ μ΄μμ νΈμ§ | 1.0.9 |
| lodash | λ°μ΄ν° ꡬ쑰 | 4.17.21 |
| socket.io-client | λ°μ΄ν° ꡬ쑰 | 4.5.1 |
issue1: JWT μ‘μΈμ€,리νλ μ¬ ν ν° κ΄λ¦¬
- ν ν° νμ·¨μ λν 보μμ κ°ννκΈ° μν΄ μ‘μΈμ€ ν ν°μ μκ°μ μ§§κ² νκ³ μ‘μΈμ€ν ν°μ μ¬λ°κΈμ΄ κ°λ₯ν 리νλ μ¬ ν ν° λμ
- λ κ°μ§μ ν ν°μ λ‘κ·ΈμΈμ΄ νμν λͺ¨λ ν΅μ μ λ΄μμ£Όλ€λ³΄λ λΆνμν μ½λκ° κΈΈμ΄μ§κ³ ν ν°μ λΉ νΈλ¦¬κ² λλ λ¬Έμ λ°μ
- μ‘μΈμ€ ν ν°μ΄ λ§λ£λ μ 리νλ μ¬ ν ν°μ ν΅ν΄ μ¬λ°κΈμ ν΄μ£Όμ§λ§ μ€ν¨ν μμ²μ μ¬μμ²νμ§ μμ
- request μμ²μ λν μΈν°μ ν°λ₯Ό λ§λ€μ΄ μλμΌλ‘ λͺ¨λ μμ²μ λκ°μ§μ ν ν°μ μ λ¬
- responseκ° μ€ν¨ μ μ‘μΈμ€ν ν°μ΄ λ§λ£λμ΄ μ¬λ°κΈ λλ κ²½μ°λ©΄ μν ν°μ μΏ ν€μ μ μ₯νκ³ λ³Έλμ μμ²μ λ€μ μμ²νλ μΈν°μ ν° κ΅¬μ±
issue2: κ²μλ¬Ό λ±λ‘ μ κ° λ¨κ³λ³ λ°μ΄ν° μ μ κ΄λ¦¬
- κ²μλ¬Ό λ±λ‘ μ μ λ ₯ μ 보λ(μ§λλ§νΉ, 10μ¬κ°μ μ λ ₯κ°, λ€μ€ μ΄λ―Έμ§)μ΄ λ§μ 3λ¨κ³λ‘ λλμ΄μ§ λ±λ‘ νλ‘μΈμ€ μ§ν
- κ° λ¨κ³λ₯Ό λλλ€ λ μ»΄ν¬λνΈκ° λ§μ useStateμ λ°μ΄ν°λ₯Ό propsλ‘ μ£Όκ³ λ°λ κ³Όμ μμ λ°μ΄ν°κ° μ΄κΈ°ν λκ³ μμμ»΄ν¬λνΈμμ λΆλͺ¨μ»΄ν¬λνΈμ λ°μ΄ν°λ₯Ό λ°κΏμΌ νλ κ²½μ°κ° λ°μ
- μμλ μ»΄ν¬λνΈκ° λ§κ³ λΆλͺ¨,μμ μ»΄ν¬λνΈμ μνν λ°μ΄ν° μ μ κ΄λ¦¬λ₯Ό μν 리λμ€ νμ©
issue3: μ΄λ―Έμ§ μ λ‘λ μλ
- μλΉμ€ νΉμ±μ κ²μλ¬Ό(κ·Έλ£Ήλ¬λ/μ½μ€μΆμ²) λ±λ‘ μ λ€μ€ μ¬μ§ μ λ‘λλ‘ κ³ νμ§ μ΄λ―Έμ§ μ λ‘λμ κ°λ₯μ±μ΄ μμ
- μ μ ν μ€νΈ κ²°κ³Ό 2mbκ° λκ±°λ μ€λ§νΈν° νλ©΄μΉ΄λ©λΌλ‘ μ°μ μ 5mbκ° λλ μ¬μ§λ€μ΄ μ λ‘λ λ μ μ λ‘λκ° μ€λ κ±Έλ € μ μ κ° λ±λ‘ ν μ€λ₯λ‘ μΈμνλ μν© λ°μ
- browser-image-compression λΌμ΄λΈλ¬λ¦¬λ‘ 1μ₯,2μ₯,3μ₯ μ λ‘λ λλ κ°κ°μ μν©μ κ³ λ €νμ¬ μ΄λ―Έμ§λ₯Ό μμΆν ν μλ²λ‘ μ λ¬ -> λ°μ€ν¬ν ν μ€νΈ κ²°κ³Ό 5Mbκ° λλ μ¬μ§μ 1Mb μ΄λ΄λ‘ μ©λμ μμΆνμκ³ μ λ‘λ μλλ₯Ό 50% μ΄μ μ€μ¬ μ λ‘λ μλ κ°μ
[πΏ νλ‘μ νΈ μκ° λ¬Έμ]
πΎ μμ΄μ΄νλ μ
