Skip to content

eumyang99/JobTender

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

JobTender

μž‘ν…λ”

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 λͺ…μ„Έμ„œ λ“± λͺ¨λ‘κ°€ κ³΅μœ ν•΄μ•Ό ν•˜λŠ” λ¬Έμ„œ 관리
    • μ»¨λ²€μ…˜ 정리

μ»¨λ²€μ…˜

Git

컀밋 λΆ„λ₯˜ κ·œμΉ™

  • Init - ν”„λ‘œμ νŠΈ μ‹œμž‘
  • FeatΒ - μƒˆλ‘œμš΄ κΈ°λŠ₯ μΆ”κ°€
  • FixΒ - 버그 μˆ˜μ •
  • BuildΒ - λΉŒλ“œ κ΄€λ ¨ 파일 μˆ˜μ •
  • CiΒ - CIκ΄€λ ¨ μ„€μ • μˆ˜μ •
  • DocsΒ - λ¬Έμ„œ (λ¬Έμ„œ μΆ”κ°€, μˆ˜μ •, μ‚­μ œ)
  • StyleΒ - μŠ€νƒ€μΌ (μ½”λ“œ ν˜•μ‹, 폴더 이름, μ„Έλ―Έμ½œλ‘  μΆ”κ°€: λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ— λ³€κ²½ μ—†λŠ” 경우)
  • RefacΒ - μ½”λ“œ λ¦¬νŒ©ν† λ§
  • TestΒ - ν…ŒμŠ€νŠΈ (ν…ŒμŠ€νŠΈ μ½”λ“œ μΆ”κ°€, μˆ˜μ •, μ‚­μ œ: λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ— λ³€κ²½ μ—†λŠ” 경우)
  • ChoreΒ - 기타 변경사항 (λΉŒλ“œ 슀크립트 μˆ˜μ • λ“±)

컀밋 κ·œμΉ™

  1. λ©”μ‹œμ§€ κ·œμΉ™
    1. [λΆ„λ₯˜] κΈ°λŠ₯ : 상세 μ„€λͺ…
    2. ex) [Feat] 둜그인 : User 정보λ₯Ό μ„œλ²„μ—μ„œ λ°›λŠ” Rest API μΆ”κ°€
    3. 무쑰건 λͺ…μ‚¬ν˜•μœΌλ‘œ 마무리 ex) μž‘μ„±, μΆ”κ°€ λ“±
  2. 컀밋 μ‹œκΈ°
    1. 개인이 μ•Œμ•„μ„œ
    2. 1일 1컀밋 ꢌμž₯
    3. 컀밋 μ‹œ λͺ¨λ‘μ—κ²Œ μ–ΈκΈ‰ν•˜κΈ°

브랜치

  1. Master
  2. Develop
    1. BE
      • Feature1 (κΈ°λŠ₯ λ‹¨μœ„λ‘œ λ‚˜λˆ„κΈ°)
      • Feature2
      • …
  3. Release
  4. Hotfix

Jira

Issue

에픽, μŠ€ν† λ¦¬λ§Œ μ‚¬μš©

Label (λŒ€λΆ„λ₯˜)

기획, ν•™μŠ΅, BE, FE, CI/CD 쀑 μ„ νƒν•΄μ„œ μž‘μ„±

Epic

기획, ν•™μŠ΅, BE, FE, CI/CD 으둜 μ‹œμž‘ν•˜λŠ” κΈ°λŠ₯ λ‹¨μœ„λ‘œ μž‘μ„±

ex) BE - μœ μ € 컨트둀러

ex) BE - κΈ°μ—… 뢄석 μ•Œκ³ λ¦¬μ¦˜ κ΅¬ν˜„

ex) FE - 둜그인 νŽ˜μ΄μ§€

Story

[Label] μŠ€ν† λ¦¬

ex) [BE] νšŒμ› 정보 μˆ˜μ • api κ΅¬ν˜„

ex) [BE] tf-idf μ•Œκ³ λ¦¬μ¦˜ μ½”λ“œν™”

ex) [FE] 카카였 둜그인 api κ΅¬ν˜„

μš°μ„  μˆœμœ„

ν• μΌμ˜ μš°μ„  μˆœμœ„λ₯Ό λ‚˜λˆ„μ–΄ λ‹€μ„― λ‹¨κ³„λ‘œ μ •ν™•νžˆ λΆ„λ₯˜

Stroy point

ν•˜λ£¨ 8μ‹œκ°„μ„ story λ³„λ‘œ λ‚˜λˆ„κΈ°

storyλ₯Ό 잘 μ˜ˆμΈ‘ν•˜μ—¬ μ§„ν–‰ μ‹œκ°„ μ„ΈλΆ„ν™” ν•˜κΈ°

FE

파일

  • 파슀칼 μΌ€μ΄μŠ€
  • 파일λͺ…, μ΅œμƒλ‹¨ ν•¨μˆ˜λͺ…, export λͺ… λ™μΌν•˜κ²Œ ν•˜κΈ°

λ³€μˆ˜

  • λ³€μˆ˜ νƒ€μž…μ€ const둜 ν•˜κ³  ν•„μš”μ‹œ, let으둜 ν•˜κΈ°
  • 카멜 μΌ€μ΄μŠ€
  • 의미 μ—†λŠ” λ³€μˆ˜λͺ… κΈˆμ§€
  • 단어 쀄이지 말기

λ©”μ„œλ“œ

  • 카멜 μΌ€μ΄μŠ€ (λ™μ‚¬λ‘œ μ‹œμž‘ν•˜λŠ” 이름)
  • ν™”μ‚΄ν‘œ ν•¨μˆ˜λ‘œ μž‘μ„±ν•˜κΈ° () β‡’ function()
  • λ©”μ„œλ“œλŠ” ν•˜λ‚˜μ˜ κΈ°λŠ₯만 μˆ˜ν–‰

주석

  • λ©”μ„œλ“œ μœ„μ— μ£Όμ„μœΌλ‘œ μ„€λͺ…ν•˜κΈ°, λͺ¨λ“  μœ„μΉ˜λ§ˆλ‹€ 상단에 μ£Όμ„λ‹¬μ•„μ„œ μ„€λͺ…ν•˜κΈ°

import

  • reactλž‘ λ©€μ–΄μ§ˆ 수둝 ν•˜λ‹¨μ— μž‘μ„± (react - api - componet - css)
    • λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•˜λŠ” 이름

BE

파일

  • 파슀칼 μΌ€μ΄μŠ€ μ‚¬μš©

λ³€μˆ˜

  • 카멜 μΌ€μ΄μŠ€ μ‚¬μš©
  • 의미 μ—†λŠ” λ³€μˆ˜λͺ… κΈˆμ§€
  • λˆ„κ΅¬λ‚˜ μ•Œλ²•ν•œ 단어 μ œμ™Έ 쀄이지 말기

λ©”μ„œλ“œ

  • 카멜 μΌ€μ΄μŠ€ μ‚¬μš©
  • create / read / update / delete ν˜•μ‹μœΌλ‘œ λ©”μ„œλ“œ 이름 μ“°κΈ°
  • λ©”μ„œλ“œλŠ” ν•˜λ‚˜μ˜ κΈ°λŠ₯만 μˆ˜ν–‰

DTO 넀이밍

  • λΉ„μ¦ˆλ‹ˆμŠ€ 둜직과 κ΄€λ ¨λœ μ΄λ¦„μœΌλ‘œ μ •ν•˜κΈ°
  • μ•žμ€ λŒ€λ¬Έμž, 끝은 DTO둜 마무리

REST API URL

  • RESTfulν•˜κ²Œ μ“°κΈ°
  • URL 끝은 항상 λͺ…사

주석

  • μ»¨νŠΈλ‘€λŸ¬μ—μ„œ API λ‹¨μœ„λ‘œ λ©”μ„œλ“œ λ§Œλ“€λ©΄ Swagger λͺ…μ„Έ κΌ­ 적어주기
  • 컨트둀러 μ™Έμ—λŠ” Class μœ„, λ©”μ„œλ“œ μœ„μ— 문단 μ£Όμ„μœΌλ‘œ μ„€λͺ…ν•˜κΈ°
    • 카멜 μΌ€μ΄μŠ€
    • μ€„μž„λ§ μ§€μ–‘ ex) cnt (X) count (O)

ν”„λ‘œμ νŠΈ μ‚°μΆœλ¬Ό

ν”„λ‘œμ νŠΈ κ²°κ³Όλ¬Ό

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5