JobTender λ°λ‘κ°κΈ° : https://jobtender.shop
UCC 보λ¬κ°κΈ° : UCC!!
2023.02.20(μ) ~ 2023.04.07(κΈ)
SSAFY 8κΈ° 2νκΈ° νΉννλ‘μ νΈ
μ΄μ κ³Ό λ€λ₯΄κ² μ ν¬λ μ·¨μ μ 보μ νμ μμμ μ΄κ³ μμ΅λλ€. κΈ°μ μ λν μ°λ΄, μ±κ²©, νλ μΌ, λ§€μΆ, μ λ§ λ± λ€μν μ 보 μμμ μμ κ³Ό μ λ§λ κΈ°μ μ μ°Ύμ μ·¨μ νκΈ° μν΄ λ Έλ ₯νκ³ μμ΅λλ€. νμ§λ§ λΆμμ λ°λ₯΄λ©΄ ν΄μ¬μ μ΄μ μ€ μλμ 1μλ₯Ό μ°¨μ§νλ νλͺ©μ βμμ κ³Ό μΌμ΄ λ§μ§ μμμβ λΌκ³ ν©λλ€. μ κ·Έλ° κ±ΈκΉμ? μ ν¬λ μ΄κ²μ΄ βκ°μΉκ΄ μ 보μ λΆμ¬β λΌκ³ κ²°λ‘ μ§μμ΅λλ€. μ ν¬λ μμ μ κ°κ΄μ μΌλ‘ μ κΈ°νκ° μμμΌλ©°, κΈ°μ μ΄ μ΄λ€ κ°μΉκ΄μ κ°μ§κ³ μλμ§ μ°Ύμ보μ§λ μκ³ , μλ €μ£Όλ μ¬λλ μμμ΅λλ€. μ‘ν λλ βκ°μΉκ΄βμ λν μλΉμ€λ₯Ό μ 곡ν©λλ€. μ€λ¬Έ μ‘°μ¬λ₯Ό ν΅ν΄ μμ μ κ°μΉκ΄μ λν΄ μλ €μ£Όλ©°, μμ μ κ°μΉκ΄κ³Ό κ°μ₯ μ λ§λ κΈ°μ μ μΆμ²ν΄ μ€λλ€. μ¬λ¬λΆλ μ΄λ² κΈ°νμ μμ μ λν΄ μμκ° λ³΄λ κ² μ΄λ¨κΉμ?
- μ€λ¬Έμ‘°μ¬
- 57κ°μ§ μ€λ¬Έ μ‘°μ¬λ₯Ό ν΅ν΄ μμ μ κ°μΉκ΄μ λν΄ μ μ μμ΅λλ€.
- κΈ°μ
μΆμ²
- μ νν 3κ°μ§ ν€μλλ₯Ό λ°νμΌλ‘ μ΄μ©μμ μ±ν₯κ³Ό λΉμ·ν νμ¬λ₯Ό μΆμ²ν΄μ€λλ€.
- 57κ°μ§ μ€λ¬Έ μ‘°μ¬λ₯Ό λ°νμΌλ‘ μ΄μ©μμ μ±ν₯κ³Ό λΉμ·ν νμ¬λ₯Ό μΆμ²ν΄μ€λλ€.
- λ°μ΄ν° μκ°ν
- μ€λ¬Έ μ‘°μ¬, ν€μλλ₯Ό λ°νμΌλ‘ μ¬μ©μκ° μ΄λ€ μ¬λμΈμ§, μ΄λ€ νΉμ±μ κ°μ§κ³ μλμ§, μ΄λμ μν΄μλμ§ μκ°μ μΌλ‘ νμΈν μ μμ΅λλ€.
- μμ§μ ν΅κ³ μλ£λ₯Ό λ°νμΌλ‘ ν μ λ’°μλ λ°μ΄ν°
- μ κ΅ν μμ°μ΄ μ²λ¦¬ κΈ°μ μ λ°νμΌλ‘ν μ νν μΆμ² μκ³ λ¦¬μ¦
- ORMμ μ΄μ©ν λΉ λ₯΄κ³ μ κ΅ν λ°μ΄ν° μ²λ¦¬
- μ± μκ³Ό μν μ΄ λΆλ¦¬λ λ€μ€ μλ² κ΅¬μΆ
- μ¬μ©μ μΉνμ λμμΈ
- λ€μν μ λλ©μ΄μ
Backend - Spring, Flask
- IntelliJ Ultimate 2022.3.3
- Pycharm Community Edition 2022.3.1
- Spring Boot Gradle 2.7.9
- Spring Data JPA
- QueryDSL 1.0.10
- Flask
- JWT
- OAuth
- MySQL 8.0.31
Frontend - React
- Visual Studio Code IDE
- node v18.13.0
- React 18.0.2
- React-Router-Dom 6.8.2
- Redux 8.0.5
- ChakraUI
- GSAP
- D3
CI/CD
- AWS EC2
- NGINX
- Docker
- SSL (certbot)
S08P22A203
βββ backend
β βββ gradle
β β βββ wrapper
β βββ src
β βββ main
β β βββ java
β β β βββ com
β β β βββ ssafy
β β β βββ jobtender
β β β βββ config
β β β βββ controller
β β β βββ dao
β β β β βββ impl
β β β βββ dto
β β β β βββ input
β β β β βββ output
β β β βββ entity
β β β β βββ common
β β β βββ jwt
β β β βββ oauth
β β β βββ repo
β β β βββ service
β β β βββ impl
β β βββ resources
β βββ test
β βββ java
β βββ com
β βββ ssafy
β βββ jobtender
β βββ dao
β β βββ impl
β βββ repo
β βββ service
β βββ impl
βββ data
β βββ certbot
β β βββ conf
β β βββ www
β βββ nginx
βββ database
β βββ mysql
β βββ sql
βββ frontend
β βββ public
β β βββ companyLogo
β β βββ font
β β βββ images
β β βββ welcome
β βββ src
β βββ api
β βββ components
β β βββ home
β β βββ keyword
β β βββ login
β β βββ mypage
β β βββ result
β β β βββ 1
β β β βββ 2
β β β βββ 3
β β β βββ 4
β β β βββ 5
β β βββ survey
β β βββ welcome
β βββ hooks
β βββ pages
β β βββ router
β βββ redux
β β βββ counter
β β βββ home
β β βββ keyword
β β βββ mypage
β β βββ result
β β βββ survey
β β βββ user
β βββ styles
β βββ keyword
β βββ loading
β βββ result
β βββ survey
βββ python
βββ crow
β βββ companyLogo
βββ python_backend
βββ Dao
β βββ __pycache__
βββ Logic
βββ __pycache__
- GitLab
- Notion
- Gather Town
- JIRA
- MatterMost
- Flip
- Gitlab
- μ½λμ λ²μ μ κ΄λ¦¬
- JIRA
- λ§€μ£Ό Sprint μ§ν
- μ 무λ§λ€ Story Pointλ₯Ό λΆμ¬νκ³ μ£ΌλΉ 40pointμ© μν
- νμ
- μμΉ¨λ§λ€ μ€ν¬λΌ νμ μ§ν
- μ λ ν μΌκ³Ό λΉμΌ ν μΌ λΈλ¦¬ν
- μλ‘ λ΄λΉ μ 무μ μ§ν μν©μ μμ λ¬Έμ λ°μ μ λΉ λ₯΄κ² λμ²
- Notion
- νμλ‘μ κΈ°λ‘νμ¬ λ³΄κ΄
- μμ΄λμ΄, μμ΄μ΄νλ μ, ERD, API λͺ μΈμ λ± λͺ¨λκ° κ³΅μ ν΄μΌ νλ λ¬Έμ κ΄λ¦¬
- 컨벀μ μ 리
- Init - νλ‘μ νΈ μμ
- FeatΒ - μλ‘μ΄ κΈ°λ₯ μΆκ°
- FixΒ - λ²κ·Έ μμ
- BuildΒ - λΉλ κ΄λ ¨ νμΌ μμ
- CiΒ - CIκ΄λ ¨ μ€μ μμ
- DocsΒ - λ¬Έμ (λ¬Έμ μΆκ°, μμ , μμ )
- StyleΒ - μ€νμΌ (μ½λ νμ, ν΄λ μ΄λ¦, μΈλ―Έμ½λ‘ μΆκ°: λΉμ¦λμ€ λ‘μ§μ λ³κ²½ μλ κ²½μ°)
- RefacΒ - μ½λ 리ν©ν λ§
- TestΒ - ν μ€νΈ (ν μ€νΈ μ½λ μΆκ°, μμ , μμ : λΉμ¦λμ€ λ‘μ§μ λ³κ²½ μλ κ²½μ°)
- ChoreΒ - κΈ°ν λ³κ²½μ¬ν (λΉλ μ€ν¬λ¦½νΈ μμ λ±)
- λ©μμ§ κ·μΉ
- [λΆλ₯] κΈ°λ₯ : μμΈ μ€λͺ
- ex) [Feat] λ‘κ·ΈμΈ : User μ 보λ₯Ό μλ²μμ λ°λ Rest API μΆκ°
- 무쑰건 λͺ μ¬νμΌλ‘ λ§λ¬΄λ¦¬ ex) μμ±, μΆκ° λ±
- μ»€λ° μκΈ°
- κ°μΈμ΄ μμμ
- 1μΌ 1μ»€λ° κΆμ₯
- μ»€λ° μ λͺ¨λμκ² μΈκΈνκΈ°
- Master
- Develop
- BE
- Feature1 (κΈ°λ₯ λ¨μλ‘ λλκΈ°)
- Feature2
- β¦
- BE
- Release
- Hotfix
μν½, μ€ν λ¦¬λ§ μ¬μ©
κΈ°ν, νμ΅, BE, FE, CI/CD μ€ μ νν΄μ μμ±
κΈ°ν, νμ΅, BE, FE, CI/CD μΌλ‘ μμνλ κΈ°λ₯ λ¨μλ‘ μμ±
ex) BE - μ μ 컨νΈλ‘€λ¬
ex) BE - κΈ°μ λΆμ μκ³ λ¦¬μ¦ κ΅¬ν
ex) FE - λ‘κ·ΈμΈ νμ΄μ§
[Label] μ€ν 리
ex) [BE] νμ μ 보 μμ api ꡬν
ex) [BE] tf-idf μκ³ λ¦¬μ¦ μ½λν
ex) [FE] μΉ΄μΉ΄μ€ λ‘κ·ΈμΈ api ꡬν
ν μΌμ μ°μ μμλ₯Ό λλμ΄ λ€μ― λ¨κ³λ‘ μ νν λΆλ₯
ν루 8μκ°μ story λ³λ‘ λλκΈ°
storyλ₯Ό μ μμΈ‘νμ¬ μ§ν μκ° μΈλΆν νκΈ°
- νμ€μΉΌ μΌμ΄μ€
- νμΌλͺ , μ΅μλ¨ ν¨μλͺ , export λͺ λμΌνκ² νκΈ°
- λ³μ νμ μ constλ‘ νκ³ νμμ, letμΌλ‘ νκΈ°
- μΉ΄λ© μΌμ΄μ€
- μλ―Έ μλ λ³μλͺ κΈμ§
- λ¨μ΄ μ€μ΄μ§ λ§κΈ°
- μΉ΄λ© μΌμ΄μ€ (λμ¬λ‘ μμνλ μ΄λ¦)
- νμ΄ν ν¨μλ‘ μμ±νκΈ° () β function()
- λ©μλλ νλμ κΈ°λ₯λ§ μν
- λ©μλ μμ μ£ΌμμΌλ‘ μ€λͺ νκΈ°, λͺ¨λ μμΉλ§λ€ μλ¨μ μ£Όμλ¬μμ μ€λͺ νκΈ°
- reactλ λ©μ΄μ§ μλ‘ νλ¨μ μμ± (react - api - componet - css)
- λλ¬Έμλ‘ μμνλ μ΄λ¦
- νμ€μΉΌ μΌμ΄μ€ μ¬μ©
- μΉ΄λ© μΌμ΄μ€ μ¬μ©
- μλ―Έ μλ λ³μλͺ κΈμ§
- λꡬλ μλ²ν λ¨μ΄ μ μΈ μ€μ΄μ§ λ§κΈ°
- μΉ΄λ© μΌμ΄μ€ μ¬μ©
- create / read / update / delete νμμΌλ‘ λ©μλ μ΄λ¦ μ°κΈ°
- λ©μλλ νλμ κΈ°λ₯λ§ μν
- λΉμ¦λμ€ λ‘μ§κ³Ό κ΄λ ¨λ μ΄λ¦μΌλ‘ μ νκΈ°
- μμ λλ¬Έμ, λμ DTOλ‘ λ§λ¬΄λ¦¬
- RESTfulνκ² μ°κΈ°
- URL λμ νμ λͺ μ¬
- 컨νΈλ‘€λ¬μμ API λ¨μλ‘ λ©μλ λ§λ€λ©΄ Swagger λͺ μΈ κΌ μ μ΄μ£ΌκΈ°
- 컨νΈλ‘€λ¬ μΈμλ Class μ, λ©μλ μμ λ¬Έλ¨ μ£ΌμμΌλ‘ μ€λͺ
νκΈ°
- μΉ΄λ© μΌμ΄μ€
- μ€μλ§ μ§μ ex) cnt (X) count (O)
