|
1 | 1 | # 🐰 클릭 몇 번으로 일정 합의 완료, 이때어때 (Ittaeok) |
2 | 2 |
|
3 | | -효율적인 일정 조율을 위한 통합 스케줄링 플랫폼 |
4 | | -개인과 그룹의 일정 조율 과정에서 발생하는 비효율성을 해결하고 모든 구성원이 참여하지 못하는 현실적인 상황을 고려하여 유연한 일정 관리 서비스를 제공합니다. |
| 3 | +### 효율적인 일정 조율을 위한 통합 스케줄링 플랫폼<br> |
| 4 | +개인과 그룹의 일정 조율 과정에서 발생하는 비효율성을 해결하고 모든 구성원이 참여하지 못하는<br> |
| 5 | +현실적인 상황을 고려하여 유연한 일정 관리 서비스를 제공합니다. |
5 | 6 |
|
6 | 7 | <img width="1200" height="630" alt="Frame_2608805" src="https://github.com/user-attachments/assets/2b889840-dbb1-4378-a453-7024cd385578" /> |
7 | 8 |
|
8 | 9 | ## [이때어때](https://ittaeok.com) |
9 | 10 |
|
10 | 11 | ## [시연](https://www.youtube.com/watch?v=coeKWbkHD6g) |
11 | 12 |
|
12 | | -# 프로젝트 소개 |
| 13 | +## 📝 서비스 소개 |
| 14 | + |
| 15 | +### 🗓️ 일정 조율 |
| 16 | +- 한번 모임(일회성 일정)과 자주 모임(그룹 일) 두 가지 형태 중 선택이 가능해요. |
| 17 | +- 모임 날짜와 시간을 정하고, 참여 인원과 온/오프라인 여부를 설정해서 새로운 일정을 만들 수 있어요. |
| 18 | +- 일정에 초대받은 사람들은 각자 가능한 시간을 입력하면 돼요. |
| 19 | +- 모두의 시간을 모아서 최적의 시간대를 추천해 줘요. 그중 하나를 골라 모임을 확정해 보세요. |
| 20 | + |
| 21 | +### 🗺️ 모임 장소 지정 |
| 22 | +- 오프라인 모임일 경우, 모임에 참여하는 사람들의 출발지를 기준으로 가장 합리적인 중간 지점을 추천해 드려요. |
| 23 | +- 추천받은 여러 지점 중에서 투표로 중간 지점을 확정할 수 있어요. |
| 24 | +- 투표로 정해진 지역 내에서 카페, 회의장 등 세부 모임 장소를 지정할 수 있어요. |
| 25 | + |
| 26 | +### 📌 편리한 워크스페이스 및 연동 |
| 27 | +- 확정된 일정의 상세 페이지에 깃허브, 노션, 피그마 등 다양한 URL을 등록하고 공유할 수 있어요. |
| 28 | +- 온라인 모임이라면 자동으로 Zoom 회의실을 생성해 드려요. |
| 29 | +- 구글 캘린더를 연동하면, 나의 캘린더 일정을 서비스에서 한 번에 관리할 수 있어요. |
| 30 | + |
| 31 | +### 👥 그룹 관리 |
| 32 | +- 자주 만나는 모임을 그룹으로 만들어 관리할 수 있어요. 카카오톡으로 초대 링크를 보내면 멤버들이 쉽게 참여할 수 있죠. |
| 33 | +- 초대 링크를 누르면, 소셜 로그인 후 바로 그룹에 참여할 수 있어요. |
| 34 | +- 그룹 내 멤버들과 새로운 일정을 만들거나, 이미 있는 개인 일정을 그룹으로 가져올 수 있어요. |
| 35 | +- 그룹장은 멤버를 확인하고, 내보내거나, 그룹장 권한을 주거나 회수할 수 있어요. |
| 36 | +- 그룹원별 참여율, 요일/장소별 모임 횟수를 통계로 보여줘서 그룹을 더 효과적으로 운영하는 데 도움을 받을 수 있어요. |
| 37 | + |
| 38 | +### ✨ 나만을 위한 기능 |
| 39 | +- 대시보드에서 선택한 날짜의 일정을 확인할 수 있고, 어느 모임의 일정인지도 볼 수 있어요. |
| 40 | +- 자주 이용하는 출발역이나 선호하는 시간대를 등록해서, 매번 똑같은 정보를 다시 입력하지 않아도 돼요. |
13 | 41 |
|
14 | | -- 바쁜 현대인들의 일정 잡기를 클릭 몇번으로 쉽고 간편하게 해주는 서비스입니다. |
15 | | -- 나의 가능한 시간을 등록하고 다른 모임원들의 시간을 취합하여 가장 빠른 일정, 긴 시간 볼 수 있는 일정을 확인하고 정할 수 있습니다. |
16 | | -- (1회성 모임) 1번만 만나는 모임 일정을 조율할 수 있습니다. |
17 | | -- (그룹 모임) 자주 만나는 모임을 그룹으로 설정하고 해당 그룹원끼리 일정을 계속 생성할 수 있습니다. |
18 | | -- (오프라인 모임) 모임원들의 출발역 등록 후 모두의 출발지에서 가장 중간 지점을 계산하여 추천 목록을 보여주고 투표하여 중간 지점을 정할 수 있습니다. |
19 | | -- (온라인 모임) 온라인 미팅 플랫폼을 정하지 못했다면 줌 회의장을 생성해 줍니다. |
20 | | -- 정해진 일정에서는 다양한 워크스페이스 링크를 등록하여 사용할 수 있습니다. |
21 | | -- 마이페이지에서 내가 자주 등록하는 역, 기본 정해진 시간을 등록하여 불러오기를 통해 더 쉽게 일정 등록에 사용할 수 있습니다. |
22 | 42 |
|
23 | 43 | --- |
24 | 44 | ## 🧑💻 팀원 소개 |
|
49 | 69 | --- |
50 | 70 |
|
51 | 71 |
|
52 | | -## 📍 System Architeture |
| 72 | +## 📍 System Architecture |
53 | 73 |
|
54 | 74 | <div align="center"> |
55 | | -<img width="1473" height="762" alt="image" src="https://github.com/user-attachments/assets/ff5227f0-433f-475c-bf74-5fbea5568fb8" /> |
| 75 | +<img width="1374" height="765" alt="system Architecture" src="https://github.com/user-attachments/assets/450608c2-bd68-4d37-9bc7-ba88f3dc28ea" /> |
56 | 76 | </div> |
57 | 77 | <br/> |
58 | 78 |
|
59 | 79 | --- |
60 | 80 |
|
61 | 81 | ## 📊 ERD |
62 | 82 | <div align="center"> |
63 | | -<img width="1488" height="784" alt="image" src="https://github.com/user-attachments/assets/9b1561f4-ee94-4f4a-9694-eda1c1d8bae9" /> |
| 83 | +<img width="2592" height="1831" alt="ERD" src="https://github.com/user-attachments/assets/5c0df536-3a13-4c11-af2c-c8a748e14fa7" /> |
| 84 | + |
64 | 85 | </div> |
65 | 86 | <br/> |
66 | 87 |
|
67 | 88 | --- |
68 | 89 |
|
| 90 | +## 📁 Directory Structure |
| 91 | +<pre><code> |
| 92 | +spring |
| 93 | +├── app |
| 94 | +│ ├── controller |
| 95 | +│ │ ├── api |
| 96 | +│ │ │ ├── auth |
| 97 | +│ │ │ │ └── payload |
| 98 | +│ │ │ │ ├── request |
| 99 | +│ │ │ │ └── response |
| 100 | +│ │ │ ├── event |
| 101 | +│ │ │ │ └── payload |
| 102 | +│ │ │ │ ├── request |
| 103 | +│ │ │ │ └── response |
| 104 | +│ │ │ ├── group |
| 105 | +│ │ │ │ └── payload |
| 106 | +│ │ │ │ ├── request |
| 107 | +│ │ │ │ └── response |
| 108 | +│ │ │ ├── mainpage |
| 109 | +│ │ │ │ └── payload |
| 110 | +│ │ │ │ ├── request |
| 111 | +│ │ │ │ └── response |
| 112 | +│ │ │ ├── member |
| 113 | +│ │ │ │ └── payload |
| 114 | +│ │ │ ├── mypage |
| 115 | +│ │ │ │ └── payload |
| 116 | +│ │ │ │ ├── request |
| 117 | +│ │ │ │ └── response |
| 118 | +│ │ │ └── schedule |
| 119 | +│ │ │ └── payload |
| 120 | +│ │ │ ├── request |
| 121 | +│ │ │ └── response |
| 122 | +│ ├── model |
| 123 | +│ │ ├── auth |
| 124 | +│ │ │ ├── code |
| 125 | +│ │ │ ├── domain |
| 126 | +│ │ │ ├── dto |
| 127 | +│ │ │ └── token |
| 128 | +│ │ │ └── entity |
| 129 | +│ │ ├── event |
| 130 | +│ │ │ ├── code |
| 131 | +│ │ │ ├── dto |
| 132 | +│ │ │ ├── entity |
| 133 | +│ │ │ ├── factory |
| 134 | +│ │ │ ├── repository |
| 135 | +│ │ │ ├── service |
| 136 | +│ │ │ └── strategy |
| 137 | +│ │ ├── group |
| 138 | +│ │ │ ├── code |
| 139 | +│ │ │ ├── dto |
| 140 | +│ │ │ ├── entity |
| 141 | +│ │ │ ├── repository |
| 142 | +│ │ │ └── service |
| 143 | +│ │ ├── mainpage |
| 144 | +│ │ │ ├── code |
| 145 | +│ │ │ ├── dto |
| 146 | +│ │ │ ├── entity |
| 147 | +│ │ │ ├── repository |
| 148 | +│ │ │ └── service |
| 149 | +│ │ ├── member |
| 150 | +│ │ │ ├── code |
| 151 | +│ │ │ ├── dto |
| 152 | +│ │ │ ├── entity |
| 153 | +│ │ │ ├── repository |
| 154 | +│ │ │ └── service |
| 155 | +│ │ ├── mypage |
| 156 | +│ │ │ ├── converter |
| 157 | +│ │ │ ├── dto |
| 158 | +│ │ │ ├── entity |
| 159 | +│ │ │ ├── repository |
| 160 | +│ │ │ └── service |
| 161 | +│ │ └── schedule |
| 162 | +│ │ ├── code |
| 163 | +│ │ ├── dto |
| 164 | +│ │ ├── entity |
| 165 | +│ │ ├── repository |
| 166 | +│ │ └── service |
| 167 | +└── infra |
| 168 | + ├── auth |
| 169 | + │ ├── jwt |
| 170 | + │ │ ├── dto |
| 171 | + │ │ └── filter |
| 172 | + │ └── oauth2 |
| 173 | + │ └── user |
| 174 | + ├── config |
| 175 | + │ └── security |
| 176 | + ├── entity |
| 177 | + ├── error |
| 178 | + │ ├── eventAdvice |
| 179 | + │ ├── exceptions |
| 180 | + │ │ ├── event |
| 181 | + │ │ ├── group |
| 182 | + │ │ ├── member |
| 183 | + │ │ ├── mypage |
| 184 | + │ │ └── schedule |
| 185 | + │ ├── groupAdvice |
| 186 | + │ ├── memberAdvice |
| 187 | + │ ├── mypageAdvice |
| 188 | + │ └── scheduleAdvice |
| 189 | + ├── response |
| 190 | + └── utils |
| 191 | + . |
| 192 | + . |
| 193 | + . |
| 194 | +</code></pre> |
| 195 | + |
69 | 196 | ## 🧾 코드 컨벤션 |
70 | 197 |
|
71 | 198 | 커밋 메시지는 다음 규칙에 맞춰 작성합니다 |
|
0 commit comments