이벤트 참가인원 체크 앱 개발 - 개발 착수, 핵심 기능 개발

개발 현황 및 개발하면서 겪은 이슈 위주로 정리해 보았습니다.

기능개발현황 

1. 사용자 관리 기능

☑️ 회원가입/로그인: 이메일 또는 소셜 로그인 기능 제공. (구글로그인)

프로필 관리: 사용자 이름과 기본 연락처 정보 관리.

2. 모임 관리 기능

☑️ 모임 생성: 모임 이름, 날짜, 시간, 장소 설정.

☑️ 모임 조회: 사용자가 속한 모든 모임 리스트 조회. 

☑️ 모임 수정 및 삭제: 생성된 모임 정보 수정 및 삭제 기능.

3. 초대 및 알림 기능

☑️  초대하기: 초대 코드 생성 및 조회. (임시) 연락처를 통해 모임 참가자 초대. (초대 링크) 

알림: 모임 일정에 대한 알림 발송 (푸시 알림). (미정)

4. 스마트폰 기반 출석체크 기능

자동 출석체크: 모임 장소 근처에 도착 시 자동으로 출석체크.

5. 관리 기능 (관리자용)

참가자 관리: 모임 참가자 목록 조회 및 관리.


>> 출석체크 제외한 기본 기능 개발 완료한 상태입니다.

개발단계 

  1. 프로젝트 초기 설정: Flutter 프로젝트 생성, 필요한 패키지 추가, Firebase 프로젝트 설정, Firebase 초기화. 

  2. 사용자 관리 기능 구현: 회원가입 및 로그인 화면 구현, 홈 화면 구현.

  3. 모임 관리 기능 구현: 모임 생성 화면 구현, 모임 목록 및 세부 정보 화면 구현.

  4. 네비게이션 설정: 네비게이션 라우트 설정을 통해 화면 간 이동 구현.

  5. 출석체크 기능 구현: 출석체크 기능 구현, Google Maps 및 Location 패키지를 사용하여 사용자 위치와 모임 장소 표시, 출석체크 상태를 Firestore에 저장.

  6. 관리 기능 (관리자용) 구현: 참가자 관리 및 출석 보고서 기능 구현.

  7. 푸시 알림 기능 구현: Firebase Cloud Messaging 설정 및 초기화, FCM 토큰 등록, 푸시 알림 수신 및 처리. (미정)


>> 기본 제공 네비게이션 구현했으나 추후 변경될 수 있습니다. 


코드구조

lib/

├── main.dart

├── app.dart

├── config/

│   └── themes.dart

├── models/

│   └── meeting.dart

├── screens/

│   ├── home/

│   │   ├── home_screen.dart

│   │   └── widgets/

│   │       └── meeting_list_item.dart

│   ├── login/

│   │   └── login_screen.dart

│   ├── meeting/

│   │   ├── create_meeting_screen.dart

│   │   ├── edit_meeting_screen.dart

│   │   └── meeting_detail_screen.dart

│   └── join_meeting/

│       └── join_meeting_screen.dart

├── services/

│   ├── auth_service.dart

│   ├── firestore_service.dart

│   └── notification_service.dart

├── utils/

│   └── constants.dart

└── widgets/

    └── custom_button.dart


>> 필요한 화면 위주 구성 후 위와 같이 변경, 추후 BLoC 패턴으로 변경 필요합니다.

한국어 단어가 적힌 검은 화면


참고/유의사항 

Claude 3.5 사용 및 의존적 개발


>> 차근차근 개선해 나가면, 마침내 원하는 결과물을 얻을 수 있습니다. 즉, 약간 이상의 복잡한 작업은 한 번에 완벽히 해내지 못합니다. 

>> 유지보수를 위해서는 코드를 어느 정도 읽을 줄 알아야 하고, 매단계 결과물에 대한 의구심을 가지고 확인 작업을 하는 것을 추천합니다.

검정색 배경에 한국어로 된 단어


이슈 (Critical)

안드로이드에서 동작하지 않음 (코틀린 버전 이슈)


>> 해당 이슈로 초반 많은 시간이 소요되었고 (결국 iOS만 테스트), 출석체크 기능 개발 전 홀딩한 상태입니다. 잘 아시는 분 계시면 도와주세요..


시연 




Next » 핵심 기능 개발, 배포 & 홍보



#11기1인개발

6
4개의 답글

👉 이 게시글도 읽어보세요