Skip to content

ty990520/Sketcher-scheduling

 
 

Repository files navigation

Sketcher-scheduling

Sketcher team scheduling task

📌 Summary

캡스톤 디자인에서 진행한 프로젝트이며, 다수의 인력 배정 문제를 해결하기 위해 스타트업 스프린트기업 연계형으로 진행하였습니다. 개발한 결과물을 스타트업에 제안하였고, 교내 캡스톤 디자인 경진대회에서 학부 1등으로 선정되어 경기도지사상을 받았습니다.

매칭되지 않은 스케줄을 최소화하면서 50% 이상 시간 단축을 목적으로 이분매칭(Bipartite Matching) 알고리즘을 적용하여 자동 스케줄 배정 기능을 개발하였습니다.
이를 통해 평균 1시간 이상 소요되는 일주일 치 스케줄 배정을 최대 20분으로 절감하였습니다.

프로젝트 기간 : 2022.01 ~ 2022.09

Notion에서 편하게 확인할 수 있습니다.


🔗 발표 및 데모 영상

https://cms.tukorea.ac.kr/em/6357e7e01ae4c


🛠️ Specification

  • Spring boot, Gradle
  • Java, JavaScript
  • JPA
  • QueryDSL
  • MySQL, H2
  • Spring Security
  • Docker
  • AWS Elastic Beanstalk
  • Github Action (CI/CD)
  • Git, Notion, Slack

🏛️ Architecture


🌟 Contributor

이름 박태영 이혜원 정민환
깃헙 아이디 ty990520 dclxxi dokongMin
역할 팀 리드, 회원가입 및 로그인,
요청알림 관리, CI/CD 설정
페이징 및 검색 처리, 매니저 관리,
마이페이지, 카카오톡 API기반 알림 전송
오픈소스 Full-calendar기반
스케줄 CRUD, 휴가 매니저 관리
포지션 프론트엔드 및 백엔드 프론트엔드 및 백엔드 백엔드

스케줄 배정 기능의 경우 페어 프로그래밍으로 진행하였습니다.




📋프로젝트 기능 설명

(1) 회원가입 및 희망근무타임 설정

  • 기존의 문제점

    • 네이버 폼을 통해 로그인에 필요한 계정을 입력받고 희망근무타임을 설정
      → 이후 관리자가 프로그램에 회원가입 작업 진행
  • 보안을 고려한 회원가입 절차 & 회원가입 중 희망근무 타임 설정



(2) 스케줄 배정 및 조회

  • 기존의 문제점
    • 스프레드시트를 사용하여 수동으로 스케줄 배정

스케줄 배정 기능 서비스 흐름도


  1. 이분매칭 알고리즘을 적용하여 스케줄 자동 배정 가능


  1. 카카오톡 API를 활용하여 스케줄 등록 시 매니저에게 알림 발송


  1. Full-calendar 오픈소스 라이브러리를 사용하여 원하는 캘린더 유형으로 조회 가능



(3) 근무 기록 및 진행도를 제공하는 마이페이지

About

Sketcher team scheduling task

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • HTML 59.4%
  • Java 29.4%
  • CSS 7.8%
  • JavaScript 3.4%