지난 오프모임 어느 날,
운영진의 사비로 결제한 점심값 정산을 마무리 할 수 없었던 사건을 기억하십니까?
치킨집에 입장하기 위해 가게 앞에 줄을 서서 치킨값 이체를 해야만 했던 에피소드를 기억하시나요?
이벤트의 실참여자가 제대로 집계되지 않아 많은 어려움이 있었습니다.
이 문제를 해결하고자 고안한 서비스입니다.
출석체크 앱 개발기 시작합니다.
기능정의
모임 생성, 초대, 출석체크 앱 제작을 위한 기능 정의 요청
부트캠프 일정 고려하여 MVP 설정
1. 사용자 관리 기능
• 회원가입/로그인: 이메일 또는 소셜 로그인 기능 제공.
• 프로필 관리: 사용자 이름과 기본 연락처 정보 관리.
2. 모임 관리 기능
• 모임 생성: 모임 이름, 날짜, 시간, 장소 설정.
• 모임 조회: 사용자가 속한 모든 모임 리스트 조회.
• 모임 수정 및 삭제: 생성된 모임 정보 수정 및 삭제 기능.
3. 초대 및 알림 기능
• 초대하기: 연락처를 통해 모임 참가자 초대. (초대 링크)
• 알림: 모임 일정에 대한 알림 발송 (푸시 알림). (미정)
4. 스마트폰 기반 출석체크 기능
• 자동 출석체크: 모임 장소 근처에 도착 시 자동으로 출석체크.
5. 관리 기능 (관리자용)
• 참가자 관리: 모임 참가자 목록 조회 및 관리.
기술스택
• 프론트엔드: Flutter (iOS 및 Android 지원) - Flutter와 React Native의 각 장단점 확인 후 Flutter로 결정
• 백엔드: Firebase (Authentication, Firestore, Storage, Cloud Functions)
• 블루투스 기술: Bluetooth Low Energy (BLE) - 출석체크
고려사항
• 배터리 효율: BLE 기술을 통해 배터리 소모 최소화.
• 사용자 동의: BLE 추적에 대한 사용자 동의 및 투명한 정보 제공.
• 플랫폼 호환성: iOS 및 Android의 BLE 관련 API 차이점 고려.
• 에러 처리: BLE 신호 수신 실패 시 대체 방안 마련.
추후개발
• 비용 관리 (OCR): 영수증 업로드 및 OCR 처리를 통한 비용 분배 기능.
• 사진 및 파일 공유: 모임 관련 사진 및 파일 공유 기능.
• 채팅 기능: 모임 참가자들 간의 실시간 채팅 기능.
• 모임 설명: 모임에 대한 상세 설명 작성 기능.
• 피드백 수집: 모임 후 참가자 피드백 수집 기능.
• 모임 일정 관리: 캘린더를 통한 모임 일정 관리 기능.
• 고급 보안 기능: 위치 정보의 고급 보호 및 데이터 암호화(기본적인 보안 조치만 포함).
=======================================================
위와 같이 주요 내용 정리 후, 어떤 것부터 어떻게 시작하면 좋을지 ChatGPT에 조언을 구합니다.
(중간 생략)
전체 코드 구조까지 잘 정리해주네요.
단계별 요약
프로젝트 초기 설정: Flutter 프로젝트 생성, 필요한 패키지 추가, Firebase 프로젝트 설정, Firebase 초기화.
사용자 관리 기능 구현: 회원가입 및 로그인 화면 구현, 홈 화면 구현.
모임 관리 기능 구현: 모임 생성 화면 구현, 모임 목록 및 세부 정보 화면 구현.
출석체크 기능 구현: 출석체크 기능 구현, Google Maps 및 Location 패키지를 사용하여 사용자 위치와 모임 장소 표시, 출석체크 상태를 Firestore에 저장.
네비게이션 설정: 네비게이션 라우트 설정을 통해 화면 간 이동 구현.
관리 기능 (관리자용) 구현: 참가자 관리 및 출석 보고서 기능 구현.
푸시 알림 기능 구현: Firebase Cloud Messaging 설정 및 초기화, FCM 토큰 등록, 푸시 알림 수신 및 처리. (미정)
#11기1인개발