Skip to content

메인 프로젝트⭐ 대학 스터디 팀 메인 프로젝트인 '취업스케줄러:나비(me-be)' 의 '스케줄 관리 API' 입니다!

Notifications You must be signed in to change notification settings

godcoder-ohseungyun/NABE_PROJ_Schduler_Management_API

Repository files navigation

💫 시작하기 전에


이 페이지는 대학 동료들과 함께 개발한 “취업 스케줄러: 나비(Me-Be)” 의 책임별 서비스 서버 중 "스케줄러 관리 API (Scheduler Management Server)"에 해당하는 레포지토리 입니다.


💡목차


  1. 팀 프로젝트 소개
  2. 나비 전체 시스템 및 책임 서버별 기능 소개
  3. [스케줄러 관리 API 서버] 시스템 구조 및 흐름도
  4. [스케줄러 관리 API 서버] 설계 과정 및 주요 도전 과제 해결 과정 로그 문서
  5. 팀 소개 및 협업 방식


💡팀 프로젝트 소개


취업 스케줄러: 나비(Me-Be) 2022.09 런칭예정

진행중 2021.07 - 현재

“무수히 많은 취업 공고나 스팩 관련 일정들 누가 '자동'으로 내 스케줄러에 입력해주면 안되나.." 라는 아이디어에서 출발한  프로젝트 입니다.

기존 스케줄러에 취업 공고 및 스팩 관련 일정 조회 및 추천 기능과 해당 일정 구독 시 자동 일정 추가 기능추가한 스케줄러로, 서비스에서 제공하는 취업 및 스팩 관련 일정 내용을 한번의 터치만으로 내 스케줄러에 자동으로 기록 할 수 있습니다.

드래그 앤 드롭 방식으로 더욱 간편한 일정 CRUD 기능과 웹과 앱 연동 기능을 지원합니다.

ML요소 기술을 사용하여 자격증 취득 소요기간 예측 기능, 사용자 기업 취향 분석 등 다양한 서브 기능을 준비중 입니다.

💯 교내 S/W 아이디어 대회에서 금상을 수상하여 대학에 비용 지원을 받아 제작되고 있으며, 2022.09 말 런칭을 앞두고 있습니다.

💡전체 시스템 소개 및 서버별 기능


  • 회원 및 인증 관리 , 스케줄러 관리 , 채용 공고 관리 등 책임별 "REST API를 가진 MSA + SPA" 구조 입니다.
  • MSA 아키텍쳐를 통해 FE ,BE ,ML 팀간 서로 다른 개발 주기로 인한 개발 지연 문제를 해결하였습니다.
  • 웹 서비스는 전체적인 트래픽 감소와 렌더링 효율성을 위해 SPA 구조로 개발 되었습니다. (vue.js web server가 API GATEWAY의 역할을 포함하고 있습니다.)

system

회원 관리 및 인증/인가 API 서버

  • JWT 토큰을 이용한 인증/인가
  • Oauth2.0 회원가입 기능
  • 회원 정보 CRUD 기능

전체 담당중 스케줄러 관리 API 서버

  • 채용 공고 및 스팩 관련 일정 구독 기능
  • 구독시 회원 스케줄러에 자동 CRD 기능
  • 개인 스케줄 CRUD기능
  • 일정 태그 기능과 알림설정 기능 (예정)
  • 로지스틱 회귀 분석 및 클러스터링을 이용한 자격증 취득 소요기간 예측 기능 (예정)

일부 담당중 채용 공고 제공 API 서버

  • Open API 채용 공고 데이터 수집 및 제공 기능
  • 사용자 검색 로그 분석을 통한 공고 추천 기능

대외활동 일정 제공 API 서버

  • 크롤링을 통한 대외활동 및 자격증 시험 일정 수집 분류(개발 중)


💡[스케줄러 관리 API 서버] 시스템 구조 및 흐름도


sytemflow

✅ 활용기술: Spring boot , Spring Data JPA , AWS EC2 , AWS RDS , GIT ACTIONS CI/CD

✅ 개발 과정에 있었던 상세한 도전과제는 다음 챕터 “[스케줄러 관리 API 서버] 설계 및 주요 도전 과제 해결 과정”을 참고해 주시면 감사하겠습니다.



💡[스케줄러 관리 API 서버] 설계 및 주요 도전 과제 해결 과정



링크를 통해 노션에 정리된 문서 전문을 조회하실 수 있습니다.


정확한 개발과 협업을 위해 도메인 설계 과정과 API명세서를 작성했습니다.

ex1


개발 이론들을 학습하여 프로젝트를 유지보수가 용이하게 개선하고 주요 도전 과제 해결 과정을 문서화 했습니다.

ex2


함께 자라기를 위해 팀에 학습한 내용을 문서화하여 지식공유 했습니다.

ex3


ML , 멀티스레딩 등 다양한 요소 기술을 학습하고 문제 해결에 적용해 보았습니다.

ex4


본 프로젝트를 진행하며 다음을 깨닫고 개선할 수 있었습니다.

  • 개발자의 문서화와 커뮤니케이션 역량을 개선하고, 명확한 전달을 통한 원활한 프로젝트 협업을 이끌어 냈습니다.
  • 다양한 기업 기술 블로그 참고하여 문제 해결 인사이트를 얻고, CS 기본기를 응용하여 명확한 최적화 했습니다.
  • 문서화를 통한 과정 기록과 공유를 습관화하여 함께 자라기를 실천하고, 리펙토링과 클린코드 중심의 개발을 통한 생산성 개선 했습니다.


💡팀 소개 및 협업 방식



[팀 소개]

대학 동료들과 요구사항 추적, 아키텍처 적절성 판단, 레거시 개선 등 체계적인 프로젝트 개발 역량

협업 역량, 문제 해결 페어 리뷰 등 개발 자세를 기르며, 실제 개발을 통한 배움을 지향하는 10인 개발 스터디 입니다.


[팀 구성(총 10명)]

  • [DESIGN] 3인 - Figma, HTML, CSS, JS
  • [FE] 2인 - Vue.js , Flutter
  • 담당중 [BE] 3인 - Java, Spring boot , Spring Date JPA , MSSQL , Docker , AWS , Python , Django
  • 담당중 [ML] 2인 - Python , sklean , Flask

[협업 방식]

주기적인 페어 리뷰를 통한 부족한 점을 보완 및 발생 가능한 위험을 초기 대응을 위한 에자일 스크럼 방식을 사용하고 있으며,

데일리 스크럼 , 스프린트 리뷰를 통해 정확한 작업 검토가 가능해져, 프로젝트를 성공적으로 운영하고 있습니다.

  • 주 1회 스프린트 회의: 목표설정 , 도전 과제 해결 과정 및 지식 공유 문서 페어리뷰
  • 매일 20분씩 Daily Scrum: 작업검토 및 전략회의, 도전과제 설계

ex5

About

메인 프로젝트⭐ 대학 스터디 팀 메인 프로젝트인 '취업스케줄러:나비(me-be)' 의 '스케줄 관리 API' 입니다!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages