1일차: 프로젝트 설계 및 환경 구축
목표: 전체적인 구조 확정 및 개발에 필요한 환경 설정
세부 할 일:
개발 환경 구축
DB 스키마 설계: Wi-Fi 정보, 접속 기록 등을 저장할 테이블 구조를 설계
API 명세서 작성
앱과 백엔드가 주고받을 데이터 형식 정의
개발 환경 구축
Android Studio에 Kotlin 개발 환경 설정
Python, FastAPI, Uvicorn 설치 및 기본 프로젝트 생성
Mysql 설치 및 연동 확인
우선 다음과 같이 백엔드와

Andriod 부분을

DB 스키마 설계
그리고 ERD는 다음과 같이 구성하였다

API 명세서 작성
API 명세서 초안은 다음과 같다
사용자 생성 및 정보 업데이트
Endpoint: POST /users/
설명: 신규 사용자를 등록하거나, 이미 등록된 경우 집 Wi-Fi BSSID 정보를 업데이트합니다.
요청 예시 :

Response 예시 :
{
"id": 1,
"email": "user@example.com",
"home_wifi_bssid": "AA:BB:CC:DD:EE:FF"
}
사용자 정보 조회
설명: 특정 사용자의 정보를 조회합니다.

Response 예시 :
{
"id": 1,
"email": "user@example.com",
"home_wifi_bssid": "AA:BB:CC:DD:EE:FF"
}
로그 생성 및 업데이트
설명: 사용자의 Wi-Fi 연결/해제 기록을 서버에 전송
안드로이드 앱은 연결이 시작될 때와 끝났을 때 이 API를 호출하여 로그를 기록및 업데이트

Response 예시 :
{
"id": 1,
"user_id": 1,
"bssid": "AA:BB:CC:DD:EE:FF",
"start_time": "2025-08-11T10:00:00Z",
"end_time": "2025-08-11T18:00:00Z"
}
주간 재택 시간 통계 조회

설명: 특정 사용자의 최근 7일간의 일별 재택 시간 통계를 조회합니다.
Response 예시 :
{
"user_id": 1,
"start_date": "2025-08-05",
"end_date": "2025-08-11",
"weekly_stats": [
{"date": "2025-08-05", "total_minutes": 480},
{"date": "2025-08-06", "total_minutes": 520},
{"date": "2025-08-07", "total_minutes": 300},
{"date": "2025-08-08", "total_minutes": 600},
{"date": "2025-08-09", "total_minutes": 120},
{"date": "2025-08-10", "total_minutes": 700},
{"date": "2025-08-11", "total_minutes": 450}
]
}
'개발일지 > 안드로이드' 카테고리의 다른 글
| [안드로이드] Wifi기반 체류 시간 앱 - 5 (4) | 2025.08.18 |
|---|---|
| [안드로이드] Wifi기반 체류 시간 앱 - 4 (2) | 2025.08.16 |
| [안드로이드] Wifi기반 체류 시간 앱 - 3 (2) | 2025.08.15 |
| [안드로이드] Wifi기반 체류 시간 앱 - 2 (2) | 2025.08.13 |
| [안드로이드] Wifi기반 체류 시간 앱 - 준비 (1) | 2025.07.24 |