Skip to content

김동혁, 김서현, 김시우, 김정모, 이우진, 이효진

Notifications You must be signed in to change notification settings

beyond-sw-camp/be09_fin_SyncDay

Repository files navigation

SyncDay_Back

| 개발 분야 맞춤 일정 관리 시스템

🤝TEAM

신예진 멘토님 김동혁 김서현 김시우 김정모 이우진 이효진

🛠️기술스택

Java SpringBoot MariaDB mongodb JWT Hibernate Postman HTML5 CSS3 JavaScript Vue.js primevue NodeJS elasticsearch redis Docker Aws githubactions

📢협업 툴

Notion Discord GitHub jira

📋전체 프로젝트 일정

프로젝트 일정 : 2024년 10월 22일 ~ 2024년 12월 12일

목차


🍀1. 프로젝트 개요

SyncDay는 "Sync(동기화)"와 "Day(일)"의 결합으로, 하루의 일정과 목표를 실시간으로 동기화 해 효과적으로 관리할 수 있는 시스템입니다. 개인과 팀의 일정을 한 곳에서 체계적으로 공유하고, 진척도와 우선순위를 쉽게 파악하여 효율적인 업무 협업을 지원합니다.

1.1 프로젝트 소개

일정 관리 사용하기 힘드시지 않으신가요?? SyncDay는 필요한 기능만 모아 편리성을 높였습니다.

  • ✔️ 직관적인 UI: 필요한 기능을 빠르게 사용할 수 있어요.
  • ✔️ 빠른 검색: 빠른 검색을 통하여 업무 효율성을 높여보세요.
  • ✔️ 알림 기능: 비서 기능을 통해 업무 일정을 확인하세요.
  • ✔️ Github 연동: Github 동기화를 통해 커뮤니케이션 비용을 줄여보세요.
  • ✔️ 팀원 일정 조회: 타인의 공개 일정을 조회하여 협업 및 원할한 소통을 해보세요

1.2 프로젝트 배경

일정 관리 시스템은 단순히 일정을 기록하는 도구를 넘어 시간과 업무를 최적화하여 개인과 조직의 목표 달성을 돕는 중요한 도구입니다.
하지만, 기업 내 협업을 위해 외부 협업툴을 사용하는데 아래와 같은 불편함들이 있습니다.

✔️ 중복되는 업무가 많기 때문에 공유는 수시로 필요하다.
✔️ 개발 및 협업 시 정보 공유가 어렵다.
✔️ 업무에 대한 우선순위 관리와 업무 공간에 있어서는 개인/팀 작업의 분리가 필요하다.
✔️ 외부 협업툴을 사용하면서 사내 업무에 맞지 않거나 커스터마이징 하기엔 불편하다.
✔️ 과도한 기능 제공으로 설정과 사용법이 복잡하고 작은 프로젝트에서는 과하게 느껴질 수 있다.
✔️ 개발 특화 기능이 부족하다.

따라서 싱크데이를 통해 위와 같은 문제를 개선하고자 하였습니다.


1.3 국내외 유사 서비스와 차별성

1.3.1 기존 서비스 분석

서비스 분석

현재 많은 협업툴이 있지만 업무에 최적화되어 있는 협업툴을 찾기란 어렵다. 또한 협업툴을 사용하면서 기능 맞춤으로 사용하기엔 많은 기능들의 사용법을 찾아보며 사용하기란 복잡함과 피로함을 느끼게 된다. 그리고 원하는 기능에 맞게 여러 협업툴을 사용하는 듯 불편함을 느낀다.

1.3.2 싱크데이 SYNCDAY

싱크데이는 이를 해결하기 위해 시스템 안에 필수적인 기능들만 간추려 넣었다.
특히 개발업에 집중하여 개발 업무에 있어 협업하는 데에 불필요한 소통을 줄이고자 시스템 안에서 팀원들의 업무 상황을 확인할 수 있다.
또한 채팅 기능으로 굳이 다른 소통 방식을 쓰지 않아도 업무에 필요한 직원들과 즉각 연락이 가능하다.
개발업에 집중하므로 깃 연동이 가능해 프로젝트에 관한 진행상황과 업무 기간에 따른 중요도에 따라서 업무 조회가 가능하다.
마지막으로 일정 시간에 맞춰 알려주는 비서 기능으로 본인 업무를 잊지 않고 수행할 수 있다.


🍀2. 요구사항 명세서

회원 회원
회의실 회의실
팀
일정 일정
비서 비서
프로젝트 프로젝트
카드 카드
채팅 채팅

🍀3. WBS

스크린샷 2024-12-18 오후 1 08 42

🍀4. DDD

4.1 Domain Event Deduction

스크린샷 2024-12-12 105600

4.2 External System

4.3 Command

4.4 Actor

4.5 Aggregate

aggregate

4.6 Bounded Context

SyncDay - o


🍀5. DB 모델링


5.1 논리 모델링

회원 회원 -
회의실 회의실 -
팀 -
일정 일정 -
프로젝트&팀 프로젝트&카드 -

5.2 물리 모델링

회원 회원 -
회의실 회의실 -
팀 -
일정 일정 -
프로젝트&팀 프로젝트&카드 -

🍀6. UI 설계

메인화면 / 팀 메인화면-
회원 로그인 -
회의실 예약 / 비서 / 채팅 회의실 -
일정 캘린더-
프로젝트 프러젝ㅌ,-

🍀7. 시스템 아키텍처

아키텍처


🍀8. 프론트엔드 및 백엔드 테스트 결과


8.1 회원

회원
  • 로그인

    로그인

  • 로그아웃

    로그아웃

  • 마이페이지

    마이페이지

  • 비밀번호 변경

    비밀번호 변경


8.2 회의실

회의실 예약하기

회의실 예약하기

  • 회의실 예약정보 조회

    회의실 예약 정보 확인

  • 회의실 예약정보 삭제

    회의실 예약정보 삭제


8.3 팀/비서

팀비서


8.4 프로젝트

프로젝트
  • 프로젝트페이지

    테스트

  • 마일스톤 선택

    테스트


8.5 카드

  • 마일스톤 연동

    테스트


8.6 일정

일정 생성

add_schedule 일정 생성 테스트코드

일정 수정

update_schedule 일정 수정 테스트코드

일정 삭제

delete_schedule 일정 삭제 테스트코드


8.7 채팅

채팅방 생성
채팅 메세지 발송 및 수신 테스트 테스트


🍀9. CI/CD 결과

결과 백엔드 image

프론트 image


🍀10. 팀 회고

김시우

이효진: 졸업 준비도 하면서 프로젝트와 같이 준비하느라 많이 힘들어했지만 본인이 맡은 바는 잘 해내셨어요. 너무 고생 많았고 대단합니다. 그리고 화면 디자인부터 잘 잡아주어서 덕분에 디자인하는데 많은 도움을 받았습니다. 감사합니다.

김서현: 졸업 준비와 병행하면서 많이 바쁘셨을 텐데, 항상 웃는 얼굴로 팀에게 활력을 불어 넣어주셨습니다. 본인이 맡은 일을 끝낸 후에는 힘들어하는 저의 일을 도맡아서 더 해주셨습니다. 팀으로서 같이 일하는 능력이 대단한 것 같습니다. 고생 많으셨습니다. 이우진:

김동혁: 2달간 진행되는 긴 프로젝트여서 세세한 부분을 놓친 적이 많았습니다. 그럴 때마다 시우님의 꼼꼼함이 큰 힘이 되었습니다. 시우님 덕분에 더욱 완성도 있는 프로젝트로 마무리할 수 있었습니다. 감사합니다.

김정모: 프론트의 황태자! 기획 단계에서 피그마를 만듦에 있어서 엄청난 영향력과 스킬을 보여주며 완벽한 화면을 만들어냈다. 프론트 개발에 있어서도 전체적인 컴포넌트, CSS를 맡음으로 통일된 UI를 만드려고 노력하였습니다. 수고하셨습니다!

이우진: 우리팀의 프론트 고수..! ui/ux 구조를 설계해서 디자인해줘서 고맙다. 기본 세팅을 해준 덕에 마음에 드는 디자인이 나올 수 있지 않았나 싶다. 프로젝트 막바지에 디자인 통일감을 위해 전체 ui를 손보는 꼼꼼함은 본받아야할 자세라고 생각한다.

이효진

김시우: 프로젝트를 진행하면서 필요한 것(참고자료 등)과 세팅(PPT, Github) 등을 잘 준비 해 주신 것 같습니다. 또한, 채팅 도메인 담당해주셨는데, 구현 잘 해 주셔서 감사합니다. 마지막으로 제가 추후에 채팅 관련 프로젝트를 하게될 때 많이 도움을 받을 예정입니다.

김서현: 채팅 도메인을 맡으셨는데, 처음 해보시는 일임에도 불구하고 무사히 구현을 완료하셨습니다. 끝까지 책임감을 가지고 구현을 포기하지 않으시 덕분에 프로젝트가 무사히 마무리된 것 같습니다. 고생 많으셨습니다.

이우진: 이번 프로젝트에서 채팅 구현을 맡았다. 기존 http 통신이 아니라 ws이라는 프로토콜, 더욱이 db역시 mysql이 아니라 nosql을 사용해야 했었기에 정말 고민이 많았다. 그래도 끝까지 포기하지 않고 구현한 덕분에 끝내 통신에 성공해서 채팅을 할 수 있었다.

김동혁: 프로젝트를 진행하면서 필요한 참고자료 준비나 회의록 작성 등 팀을 위한 업무를 늘 먼저 나서서 맡아주셨습니다. 효진님 덕분에 팀 활동이 더욱 원활하게 진행될 수 있었습니다. 감사합니다.

김정모: 채팅 ALL-IN! 처음부터 채팅 기능을 넣고 싶어하였고, 공부해야할 내용이 많고 어려운데도 끝까지 열심히 하려고 노력하는 모습이 대단하다고 느꼈다. PPT도 감각있게 잘 꾸미고 내용을 알차게 작성하여 우리의 프로젝트를 빛낼 수 있었다. 수고하셨습니다!

김서현

이효진: 우리 프로젝트에서 큰 부분을 맡고 발표까지 준비하시느라 고생 많으셨습니다. 프로젝트 기간동안 많이 힘들어 하셨지만 덕분에 중요 기능을 잘 구현해낼 수 있었던 것 같습니다. 감사합니다.

김시우:
이번 프로젝트에서도 개발 부분에 대하여 아이디어를 내 주셨습니다. 이번에 맡은 부분이 짜잘하게 많았던 것 같은데, 완성도도 높았고 끝까지 노력하셔서 완성하는 모습이 인상 깊었습니다.

이우진:
이번 프로젝트에서 가장 중요한 기능 중 하나인 프로젝트-카드 도메인을 맡았다. 형상 관리 툴과 양방향 통신을 성공시키기 위해 api 공식 문서를 다 뒤져가며 구현한 게 대단하다. 혼자 맡기엔 버거운 양이었을 텐데 묵묵히 개발하는 모습이 인상깊었다.

김동혁: 프로젝트를 진행하면서 항상 번뜩이는 아이디어로 다채로운 기능들을 제안해주었습니다. 서현님 덕분에 더 넓은 시야로 프로젝트에 참여할 수 있었습니다. 감사합니다.

김정모: 아이디어 제공자! 처음에 주제를 잡지 못하고 방황할 때 프로젝트 시작 전부터 가지고 있던 아이디어! 초반에 아이디어가 선택되지 못하였지만 기적적으로 선택된 아이디어!! 본인의 아이디어답게 열의를 가지고 참여하고 VCS 연동까지…그리고 발표까지 완벽하게 마무리하였다. 수고하셨습니다!

이우진

김시우: 정말 중요한 기능을 담당해 주셨는데 완벽하게 구현이 된 것 같아서 항상 감사하게 생각하고 있습니다. 특히, 제 컴퓨터에서 에러가 많이 나서 항상 도와주셨던 것 같은데 그 때마다 친절하게 질문 받아주시고 해결해주셔서 감사합니다. 앞으로도 Security 및 CI/CD에 대해서 궁금한게 있으면 질문 예정입니다.

이효진: 회원부터 배포까지 빠르게 공부하고 빠르게 구현해내는 모습보고 너무 대단했습니다. 본인이 맡은 것만 하는 것도 힘들텐데 빠르게 끝내서 다른 사람들도 도와주려고 하는 모습 너무 멋있습니다. 너무 고생 많았고 감사합니다.

김서현: 회원, Elastic Search, CI/CD를 맡으셨는데 완벽하게 잘 하신 것 같습니다. 짧은 시간 동안 빠르게 새로운 내용을 공부하시고 적용하시는 능력이 대단한 것 같습니다. 팀 내에 의견 충돌이 있을 때도 모두의 의견을 물어봐주고 반영하려는 노력을 하시는 모습이 인상깊었습니다. 정말 고생 많으셨습니다.

김동혁: 프로젝트 진행 중 마주친 기술적 어려움에 누구보다 앞서 대응하는 듬직한 팀원이었습니다. 덕분에 기획단계에서 나왔던 아이디어를 실제 서비스로 구현할 수 있었습니다. 감사합니다.

김정모: 명실상부 욕심쟁이! 우진이의 욕심이 아니였으면 프로젝트를 끝내지 못했을 것이다. 배우고 싶은 열망이 그를 앞으로 나아가게 하고 그 모습을 보는 팀원들도 자극을 받기 마련이다. 우진이의 욕심은 지구의 중력처럼 끌어당기는 능력이 있는 것 같다. 많은 배움이 있었다. 감사하고 수고하셨습니다!

김동혁

김시우: 프로젝트를 진행하면서 막히는 부분이 많았던 것 같은데 그 때마다 코드를 분석하거나 번뜩이는 아이디어로 해결책을 제시해 주셨던 것 같습니다. 또한, 이번 프로젝트에서 제가 많이 부족했던 것 같아 미안했지만 든든했던 것 같습니다. 감사합니다.

이효진: 기획부터 쉽지 않았지만 꼼꼼히 이끌어줘서 덕분에 프로젝트 잘 마무리 하였습니다. 개발 빠르게 하고 배포까지 같이 도와주면서 마지막까지 고생 많으셨습니다. 감사합니다.

김서현: 꼼꼼하고 차분하신 분입니다. 팀 내부적인 의견 조율에 어려움을 자주 겪었는데, 동혁님이 정리를 잘 해주셔서 어려운 와중에도 방향을 잘 잡을 수 있었던것 같습니다. 본인이 맡은 일을 착실히 처리하시고 팀원들의 진행 상태도 살피면서 일이 잘 진행될 수 있도록 관리해주셨습니다. 실력과 관리 능력을 모두 갖추신 동혁님 덕분에 무사히 프로젝트를 마칠 수 있던 것 같습니다. 고생 많으셨습니다.

이우진: 우리팀 최고 에이스이자 막내 동혁이! 언제나 잘 모르는 게 있으면 항상 같이 고민해주는 모습이 너무 고맙다.. 지난 3번의 프로젝트를 함께 해줘서 너무 너무 고맙고 항상 수고가 많은데 그에 대해 내가 잘 표현을 못 해준 거 같아서 미안하다..ㅎ 항상 프로젝트에 최선을 다하고 최선의 방식을 선택하려는 모습 덕분에 우리 프로젝트가 이렇게 잘 마무리될 수 있었던 거 같다. 이 프로젝트가 당장 끝나더라도 리팩토링을 함께하면서 고도화를 같이 할 수 있으면 좋겠다.

김정모:
전체적인 방향을 잘 제시해주었고, 저에게는 팀장과 같은 든든한 존재였습니다. 처음에는 맡은 부분이 많이 없는 것 같았지만, 시간이 지나면서 팀원들이 못다한 부분 또는 오류가 나는 부분들을 도와주면서 전체적으로 잘 이끌어 지금까지 올 수 있었습니다! 수고하셨습니다!

김정모

김시우: 이번에 일정 도메인을 맡으면서 같이 방향성에 대하여 많이 고민을 했던 것 같습니다. 특히 코드 분석을 잘 하셔서 제가 그 부분에 대해서 배울 점이 생긴것 같습니다. 또한, 제가 회의실 도메인 코드를 복잡하게 짠게 있었는데 코드 분석 하시느라 고생하셨습니다. 마지막으로 팀에서도 활력을 많이 불어넣어 주셔서 감사합니다.

이효진: 아무래도 일정 관리 시스템에서 가장 중요하고 기본적이라고 생각하는 캘린더와 일정관리를 맡아 잘 해내주셨어요. 개발 기간동안 고민도 많고 설계 하는데에 있어서 머리가 꽤 아팠을텐데 마지막까지 마무리하시느라 너무 고생하셨습니다. 프로젝트에 있어서 분위기 메이커로서 너무 감사합니다.

김서현: 일정 도메인을 맡으셨고, 사용자의 경험을 고려하여 직관적인 UI를 잘 만들어 주셨습니다. 팀 분위기가 어색해지면 도맡아서 분위기를 풀어주시기도 하셨습니다. 정말 고생 많으셨습니다.

이우진: 이번 프로젝트에서 가장 중요한 ‘일정’이라는 도메인을 맡았다. 프론트는 라이브러리에 대한 공부를 열심히 하고 동시에 라이브러리가 제공해주는 날짜 형식 때문에 시간에 관련해서 프론트와 백엔드에서 우리 db에 알맞은 형식으로 변환하기 위해 정말 정말 고생을 많이 했다.. 더욱이 꼼꼼한 일정 기능을 위해 동혁이와 함께 머리를 맞대고 논의했다. 그런 고생들이 있었기에 성공적인 기능 구현이 있지 않았나 싶다.

김동혁: 프로젝트 팀이 결성될 때부터 하나의 팀으로 뭉칠 수 있도록 늘 노력하시는 모습을 볼 수 있었습니다. 프로젝트 진행 중 갈등도 있었고 어려운 문제도 있었지만 정모님 덕분에 끝까지 같은 목표에 집중할 수 있었습니다. 감사합니다.

About

김동혁, 김서현, 김시우, 김정모, 이우진, 이효진

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •