사이트 바로가기
JobFit 기획안
JobFit 브로슈어
🎊최고의 프로젝트상 수상!🎊
개발자들은 기술 스택 (혹은 연봉!)에 알맞은 공고를 찾기를 희망합니다.
하지만, 현재 공고 사이트에는 기술 스택으로 분류해 볼 수 없으니
개발자를 위해 편리하게 기술 스택으로 현재 공고를 분리하고 공고 추천을 제공합니다.
점핏과 Wanted 같은 개발자 전용 채용 사이트는 기술 스택 등으로 검색은 용이하지만
공고 폭이 매우 좁다는 단점이 있습니다.
따라서, 검색이 용이하며 공고량도 많고, 공고 추천까지 받을 수 있는 통합 IT 채용 공고 검색 사이트를 만들고자 합니다.
🎉무엇보다 우리가 모두 취업 준비를 하는 만큼 공고를 찾을 때 JobFit이 유용하게 쓰이면 좋겠습니다!🎉
이미지를 클릭하면 크게 볼 수 있습니다! | ||
메인 페이지 | 전체 공고 페이지와 필터링 | 공고 상세 페이지 |
![]() |
![]() |
![]() |
유저 페이지 | 유저 찜 페이지 | |
![]() |
![]() |
배진영 | 길재형 | 박현민 |
@jbae9 | @Mrgil0 | @ParkAsher |
'원티드' 스크레이핑 공고의 키워드와 기술스택 파싱 공고 추천 알고리즘 공고 기준별로 불러오기 공고 검색 기능 |
'사람인' 스크레이핑 키워드와 기술스택 검색 기능 채용공고 조회수 기능 채용공고 찜과 찜 취소 |
'프로그래머스' 스크레이핑 카카오 소셜 로그인 Refresh token 인증 채용공고 찜, 찜 취소 기능 캐싱 적용 회원 기술 스택과 주소 등록 채용공고 상세 조회 |
기술 스택 | 사용이유 |
---|---|
NestJS |
|
TypeORM |
|
Axios |
|
Cheerio |
|
Selenium |
|
Redis Engine |
|
AWS ElastiCache |
|
AWS Elastic Beanstalk AWS EC2 AWS CloudWatch |
|
기술 스택 선택
채용 공고 찜 하기 / 찜 취소하기
채용 공고 검색
- Axios, Cheerio, Selenium 라이브러리를 사용하여 원티드 / 프로그래머스 / 사람인 채용 공고 리스트를 크롤링
-
NestJS 의 Task Scheduling 기능인 Cron 데코레이터를 이용하여 프로그래머스 채용 공고는 매일 새벽 3시,
원티드 채용 공고는 매일 새벽 4시, 사람인 채용 공고는 매일 새벽 5시에 크롤링을 하도록 설정
채용 공고 크롤링
- SQL 쿼리문을 이용해서 추천 점수를 계산
-
1. 공고에 기재된 주소와 내 주소의 거리는 두 주소의 경도와 위도를 'Haversine 공식'을 사용해 계산
2. 유저가 등록한 기술스택 중에 공고가 몇 개 일치 되는지 확인
- 예: 유저가 NestJS, Javascript, Typescript를 등록했는데 공고의 기술스택은 NestJS, Javascript, Java일 때 2개 일치
3. 유저가 찜한 공고의 키워드 중에 다른 공고의 키워드는 몇 개 일치 되는지 확인
- 예: 유저가 찜한 공고는 1번과 2번이다.
1번 공고의 키워드는 신입과 IT이고 2번 공고의 키워드는 신입과 QA이다.
유저가 찜한 공고의 키워드들은 신입, IT와 QA이다.
다른 공고 4번의 키워드는 신입, 계약직, 고졸일 시 1개의 키워드만 일치한다.
4. 추천 요소를 정규화하기 위해서 최대값과 최소값을 구한다
5. 추천 점수를 계산하기 위해 모든 요소를 'Min-Max 정규화'를 한다.
- 주소만 정규화 함수의 결과에서 1을 뺀다. 주소가 가까울 수록 점수가 높아야되기 때문이다. 6. 각 요소에 비중을 줘서 추천 점수를 계산한다. 위 함수의 변수:
- stackMatches: 유저의 기술스택이랑 일치하는 수
- distance: 유저의 거리와 공고에 기재된 주소의 거리
- keywordMatches: 유저의 찜한 공고의 키워드랑 일치하는 수
- salary: 공고에 기재된 연봉
- avgSalary: 공고를 올린 회사의 평균 연봉