Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md #409

Merged
merged 1 commit into from
Dec 4, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 35 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,61 +70,75 @@

<br /><br />

## 💡 핵심 기술적 도전
# 💡 핵심 기술적 도전

### 🎨 1. 지도 위 캔버스에 출발지/도착지 마커, 경로 그리기
## 🎨 1. 지도 위 캔버스에 출발지/도착지 마커, 경로 그리기

- 캔버스 위에 그려둔 그림은 지도(캔버스)를 이동하거나 확대/축소하더라도 그린 위치(지도 기준)에 그대로 존재해야 함

<br />
<br /><br />

<div align="center">
<img width="40%" alt="image" src="https://github.com/user-attachments/assets/a1cc5824-f30f-4e11-9cfc-b9279fc13e0d" />
<img width="40%" alt="image" src="https://github.com/user-attachments/assets/63590a47-7b52-4413-8732-313a8dac58ff" />
</div>

<br /><br />

**단순히 지도 API를 사용하는 것이 아닌,**

**어떻게 동작되는지 모두 알고 직접 구현하기 위해 모든 그림과 마커는 캔버스로 직접 구현하였습니다.**
어떻게 동작되는지 모두 알고 직접 구현하기 위해 **모든 그림과 마커는 캔버스로 직접 구현하였고,**

**지도의 좌표 연동하는 로직을 직접 구현하였습니다.**

<br /><br />

지도 위에 캔버스를 연동하는 과정에서 이벤트 관련 많은 이슈들이 있었고, 문제 없이 이벤트를 전달하기 위해 많은 설계와 고민 과정을 거쳤습니다.

<br />

[🗺️ 지도와 캔버스 연동을 위한 고민 스토리 바로가기](https://velog.io/@happyhyep/%EC%A7%80%EB%8F%84%EC%99%80-%ED%95%A8%EA%BB%98-%EC%9B%80%EC%A7%81%EC%9D%B4%EB%8A%94-%EC%BA%94%EB%B2%84%EC%8A%A4-%EA%B5%AC%ED%98%84-%EC%8A%A4%ED%86%A0%EB%A6%AC)

<br /><br />

<div align="center">
<img width="500" alt="image" src="https://github.com/user-attachments/assets/a1cc5824-f30f-4e11-9cfc-b9279fc13e0d" />
<img width="500" alt="image" src="https://github.com/user-attachments/assets/63590a47-7b52-4413-8732-313a8dac58ff" />
</div>

<br /><br />

### 🧭 2. 실시간 위치 파악
## 🧭 2. 실시간 위치 파악

- 호스트(손자)는 게스트들(할머니, 할아버지)의 위치를 실시간으로 확인 가능해야 함
- 게스트(할머니)는 본인의 위치와 호스트(손자)가 설정해둔 출발지, 도착지, 경로만을 확인할 수 있어야 함

<br />

**단순히 지도에서 제공하는 현재 위치 API를 사용하는 것이 아닌, 어떻게 동작되는지 모두 알고 직접 구현하기 위해**
<div align="center">
<img width="800" alt="image" src="https://github.com/user-attachments/assets/19a1efb6-1317-4d5d-aeb6-130f9e377f3e" />
</div>

**현재 위치와 모바일 디바이스의 회전 각도를 가공하여 소켓 통신을 통해 다양한 사용자의 위치를 확인할 수 있도록 직접 구현하였습니다.**

특히 소켓 통신 과정에서 각 사용자 권한마다 (호스트/게스트) 보내야 하는 정보와 받아야 하는 정보가 다르기 때문에 클라이언트/서버에서 각각 필요한 정보만을 통신할 수 있도록 많은 고민 과정을 거쳤습니다.

<br />
<br /><br />

[🔌 실시간 위치 파악 구현을 위한 고민 스토리](https://velog.io/@happyhyep/%EC%8B%A4%EC%8B%9C%EA%B0%84-%EC%86%8C%EC%BC%93-%ED%86%B5%EC%8B%A0%EC%9D%98-%EB%8F%84%EC%A0%84%EA%B8%B0-%EB%8B%A4%EC%96%91%ED%95%9C-%EC%A1%B0%EA%B1%B4%EC%9D%B4-%EC%A1%B4%EC%9E%AC%ED%95%98%EB%8A%94-%ED%86%B5%EC%8B%A0)
**단순히 지도에서 제공하는 현재 위치 API를 사용하는 것이 아닌,** 어떻게 동작되는지 모두 알고 직접 구현하기 위해

**현재 위치와 모바일 디바이스의 회전 각도를 가공하여 소켓 통신을 통해**

다양한 사용자의 위치를 확인할 수 있도록 **직접 구현하였습니다.**

<br /><br />

<div align="center">
<img width="800" alt="image" src="https://github.com/user-attachments/assets/19a1efb6-1317-4d5d-aeb6-130f9e377f3e" />
</div>
특히 소켓 통신 과정에서 각 사용자 권한마다 (호스트/게스트) 보내야 하는 정보와 받아야 하는 정보가 다르기 때문에

클라이언트/서버에서 각각 필요한 정보만을 통신할 수 있도록 많은 고민 과정을 거쳤습니다.

<br />

[🔌 실시간 위치 파악 구현을 위한 고민 스토리](https://velog.io/@happyhyep/%EC%8B%A4%EC%8B%9C%EA%B0%84-%EC%86%8C%EC%BC%93-%ED%86%B5%EC%8B%A0%EC%9D%98-%EB%8F%84%EC%A0%84%EA%B8%B0-%EB%8B%A4%EC%96%91%ED%95%9C-%EC%A1%B0%EA%B1%B4%EC%9D%B4-%EC%A1%B4%EC%9E%AC%ED%95%98%EB%8A%94-%ED%86%B5%EC%8B%A0)

<br /><br />

## 📃 우리의 기술적 도전


# 📃 우리의 기술적 도전

### by. J060_김주원

Expand Down Expand Up @@ -153,7 +167,7 @@

<br /><br />

## ⛏ 서비스 아키텍처
# ⛏ 서비스 아키텍처

<img width="1300" alt="image" src="https://github.com/user-attachments/assets/ab20d1eb-dab9-4373-b32b-7e455debb5c5">

Expand All @@ -163,7 +177,7 @@
<br /><br />


## 🌱 팀원 소개
# 🌱 팀원 소개

|J060_김주원|J174_이동율|J210_임재도|J234_정혜인|
|:--:|:--:|:--:|:--:|
Expand Down
Loading