1. 모바일 앱 개발
C# .NET MAUI를 사용해 Android 앱으로 개발했습니다.
주요 적용 기술은 다음과 같습니다.
- C# 기반 모바일 앱 개발
- .NET MAUI 화면 구성
- XAML 기반 UI 설계
- Android 권한 처리
- 위치 정보 조회
- QR 코드 생성 및 스캔
- 연결코드 기반 폰 연결
- 로컬 데이터 저장
- 예외 처리 및 앱 종료 방지 처리
2. 서버 개발
서버는 Python Flask 기반으로 구성했습니다.
주요 기능은 다음과 같습니다.
- 폰 연결 관리 API
- QR/연결코드 기반 등록 처리
- 상태 전송 API
- 수신 로그 저장
- PUSH 발송 처리
- 중복 PUSH 방지
- 연결된 폰 목록 조회
- 서버 오류 및 네트워크 예외 처리
3. 데이터베이스
서버 데이터 저장은 MariaDB를 기준으로 사용했습니다.
관리 대상 데이터는 다음과 같습니다.
- 사용자 기기 정보
- 폰 연결 정보
- 상태 전송 로그
- FCM 토큰 정보
- 수신 이력 정보
4. PUSH 알림
Firebase Cloud Messaging, FCM을 사용해 상태와 위치 정보를 상대방 폰으로 전달합니다.
적용 내용은 다음과 같습니다.
- FCM 토큰 등록
- 상태 전송 시 PUSH 발송
- 동일 수신자 중복 PUSH 방지
- 앱 수신 시 중복 로그 저장 방지
- 알림 클릭 후 앱 화면 연동
5. 위치 및 지도
휴대폰의 위치 정보를 조회하고, 수신된 위치를 지도에 표시하는 기능을 적용했습니다.
주요 기능은 다음과 같습니다.
- GPS 기반 현재 위치 조회
- 위도/경도 전송
- 수신 위치 지도 표시
- 지도 크게 보기 POPUP
- 지도 확대/축소 +, - 버튼
6. QR 및 연결코드
폰 연결은 두 가지 방식을 지원합니다.
- QR 코드 생성
- 상대 QR 읽기
- 연결코드 직접 입력
- 멀리 떨어진 사용자와 코드 기반 연결
- 쌍방 연결 시 최신 연결 기준 1건만 표시
7. UI/UX 개선
사용자가 쉽게 사용할 수 있도록 화면과 팝업을 정리했습니다.
적용 내용은 다음과 같습니다.
- 첫 화면 상태 전송 버튼 개선
- 부드러운 색상 적용
- 안내 탭 추가
- 사용법/주의사항 표시
- 색상 있는 커스텀 POPUP 적용
- 기본 오류 팝업 제거
- 지도 확대 POPUP 개선
8. 안정성 보완
앱이 갑자기 종료되지 않도록 예외 처리를 강화했습니다.
보완한 부분은 다음과 같습니다.
- 네트워크 오류 처리
- 서버 응답 오류 처리
- 위치 조회 실패 처리
- QR 스캔 오류 처리
- 지도 표시 오류 처리
- PUSH 수신 중복 방지
- 로컬 저장 데이터 오류 방어
한 줄 요약
나여기있어는 C# .NET MAUI 앱, Python Flask 서버, MariaDB, FCM PUSH, GPS 위치 정보, QR/연결코드 기능을 결합해 상태와 위치를 간단히 전달하는 안심 연결 앱입니다.
반응형
'조그만 기술로 세상을 이롭게 > 나여기있어' 카테고리의 다른 글
| 나여기있어 앱, 구글 플레이스토어 정식 출시 안내 (0) | 2026.06.19 |
|---|---|
| FCM이란? Firebase Cloud Messaging (0) | 2026.06.16 |
| 나여기있어 앱, 프로덕션 출시 진행 중입니다 (0) | 2026.06.16 |
| Here & Safe: Preparing the Global Version of “Na Yeogi Isseo” (0) | 2026.06.15 |
| 나여기있어 영문판 준비 중입니다 (0) | 2026.06.15 |