Android Kotlin 최종 프로젝트 9조 TripGo- 각 페이지별 상세 기능
개요
Android Kotlin을 사용하여 개발한 프로젝트에서 각 페이지별로 구현한 상세 기능들을 정리해 보았습니다. 이 프로젝트는 사용자 인터페이스 , 데이터 관리 , 외부 API통합 등 다양한 기능을 포함합니다.
페이지별 상세 기능
1. 스플레시
- 스플래시 UI를 통해 초기 로딩 화면을 보여줍니다.
2. 회원가입 페이지
- 자체 회원가입 양식을 통해 사용자 정보를 user DB에 저장합니다.
- 모든 입력칸에 대한 실시간 유효성 검사를 수행하고 , 모두 올바르게 입력되었을때 회원가입 버튼을 활성화 합니다.
- 가입 완료시 로그인 화면에 이메일과 패스워드를 자동으로 입력합니다.
3. 로그인 페이지
- Firebase Auth를 이용하여 Google과 Kakao 소셜 로그인을 구현합니다.
- 이메일과 비밀번호를 입력하여 자체 로그인 기능을 제공합니다.
- 로그인 입력칸에 대한 실시간 유효성 검사를 수행하며, 양식에 맞게 작성되었을 때 로그인 버튼을 활성화합니다.
- 회원가입 버튼 클릭 시 회원가입 페이지로 이동합니다.
- 비밀번호 찾기 기능을 제공하며, 가입한 이메일 주소가 DB에 존재할 경우 비밀번호 재설정 메일을 발송합니다.
- 자동로그인 기능을 구현하여 SharedPreferences를 통해 사용자 정보를 저장하고, 앱 재접 속 시 자동로그인을 수행합니다.
4. 메인 페이지
- 바텀 네비게이션바를 통해 각 프레그먼트로 화면 전환을 제공합니다.
5. 홈 화면
- ViewPager2를 이용해 자동으로 스와이프되는 행사 정보를 상단에 보여줍니다.
- 날씨 , 이달의 축제 , 항공권 검색 등 다양한 기능을 통해 사용자에게 정보를 제공합니다.
6. 축제목록
- 행사정보 API를 활용하여 축제 리스트를 보여주며 , 날짜 순과 거리 순 정렬 기능을 제공합니다.
- 리사이클리어뷰와 무한 스크롤 기능을 통해 사용자 경험을 향상시킵니다.
7. 축제상세 및 관광명소 상세
- API를 통해 상세 정보를 가져오고 , 이를 사용자에게 보여줍니다.
- 평점 남기기 , 일정 추가 , 전화 / 홈페이지 / 길찾기 등의 기능을 제공합니다.
8. 관광명소 목록
- 키워드 API를 통해 다양한 관광명소 정보를 가져와 리스트로 보여줍니다.
- 무한 스크롤 기능과 프로그레스 바를 통해 사용자 경험을 향상시킵니다.
9. 커뮤니티
- 사용자가 남긴 평점 정보를 데이터베이스에서 가져와 리스트 형태로 화면에 출력합니다.
- 지역, 축제 또는 관광명소 이름, 별점, 코멘트, 작성자, 이미지 등의 정보를 포함합니다.
- 데이터가 추가될 때마다 실시간으로 화면에 반영되어 변경사항이 표시됩니다.
10. 마이페이지
- 로그인 시 입력한 사용자 이름을 보여줍니다.
- 로그아웃 기능을 제공하여 사용자가 계정에서 로그아웃할 수 있도록 합니다.
- 캘린더 기능을 통해 사용자가 날짜를 선택하고 일정을 관리할 수 있도록 합니다.
- DatePickerDialog를 사용하여 날짜를 수정하고 저장하는 기능을 제공합니다.
- 회원탈퇴 기능을 통해 사용자가 계정을 삭제할 수 있습니다.