Sketcher team scheduling task
캡스톤 디자인에서 진행한 프로젝트이며, 다수의 인력 배정 문제를 해결하기 위해 스타트업 스프린트와 기업 연계형으로 진행하였습니다. 개발한 결과물을 스타트업에 제안하였고, 교내 캡스톤 디자인 경진대회에서 학부 1등으로 선정되어 경기도지사상을 받았습니다.
매칭되지 않은 스케줄을 최소화하면서 50% 이상 시간 단축을 목적으로 이분매칭(Bipartite Matching) 알고리즘을 적용하여 자동 스케줄 배정 기능을 개발하였습니다.
이를 통해 평균 1시간 이상 소요되는 일주일 치 스케줄 배정을 최대 20분으로 절감하였습니다.
프로젝트 기간 : 2022.01 ~ 2022.09
Notion에서 편하게 확인할 수 있습니다.
https://cms.tukorea.ac.kr/em/6357e7e01ae4c
- Spring boot, Gradle
- Java, JavaScript
- JPA
- QueryDSL
- MySQL, H2
- Spring Security
- Docker
- AWS Elastic Beanstalk
- Github Action (CI/CD)
- Git, Notion, Slack
이름 | 박태영 | 이혜원 | 정민환 |
---|---|---|---|
깃헙 아이디 | ty990520 | dclxxi | dokongMin |
역할 | 팀 리드, 회원가입 및 로그인, 요청알림 관리, CI/CD 설정 |
페이징 및 검색 처리, 매니저 관리, 마이페이지, 카카오톡 API기반 알림 전송 |
오픈소스 Full-calendar기반 스케줄 CRUD, 휴가 매니저 관리 |
포지션 | 프론트엔드 및 백엔드 | 프론트엔드 및 백엔드 | 백엔드 |
스케줄 배정
기능의 경우 페어 프로그래밍으로 진행하였습니다.
-
기존의 문제점
- 네이버 폼을 통해 로그인에 필요한 계정을 입력받고 희망근무타임을 설정
→ 이후 관리자가 프로그램에 회원가입 작업 진행
- 네이버 폼을 통해 로그인에 필요한 계정을 입력받고 희망근무타임을 설정
-
보안을 고려한 회원가입 절차 & 회원가입 중 희망근무 타임 설정
- 기존의 문제점
- 스프레드시트를 사용하여 수동으로 스케줄 배정
▶ 스케줄 배정 기능 서비스 흐름도
-
이분매칭 알고리즘을 적용하여 스케줄 자동 배정 가능
-
카카오톡 API를 활용하여 스케줄 등록 시 매니저에게 알림 발송
-
Full-calendar 오픈소스 라이브러리를 사용하여 원하는 캘린더 유형으로 조회 가능