이 프로젝트는 리그 오브 레전드(LoL) 게이머들을 위한 팀 매칭 및 소환사 검색 애플리케이션입니다. 이 앱은 소환사의 협곡과 칼바람 나락 모드에 적합한 팀 구성을 제안하며, 소환사의 세부 정보를 조회할 수 있습니다.
- 소환사 검색 및 정보 조회: 사용자가 소환사 이름을 입력하면, 해당 소환사의 상세 정보와 최근 게임 성적, 라인 선호도 등을 조회하고 최신화합니다.
- 팀 구성 최적화: 사용자가 입력한 소환사들의 라인 선호도와 랭크를 기반으로 가장 균형잡힌 팀 구성을 제안합니다. 이는 게임 내 성능 향상과 팀 밸런스를 도모하기 위함입니다.
- 챔피언 선택 시뮬레이션: 칼바람 나락 모드를 위해 랜덤 챔피언 선택 기능을 통해 사용자에게 다양한 챔피언 조합을 제시합니다.
- 팀 멤버 교체 및 조정: 드래그 앤 드롭 인터페이스를 통해 사용자는 쉽게 팀 멤버를 교체하고 팀 구성을 조정할 수 있습니다.
- 사용자 친화적 인터페이스: 직관적이고 사용하기 쉬운 인터페이스를 통해 사용자 경험을 향상시킵니다.
- React Native: 크로스 플랫폼 모바일 애플리케이션 개발을 위해 사용됩니다.
- Firebase Firestore: 소환사 데이터와 팀 구성 정보를 저장하고 관리하는 클라우드 데이터베이스입니다.
- AsyncStorage: 로컬 스토리지를 활용하여 사용자의 검색 기록과 설정을 저장합니다.
- Axios: HTTP 클라이언트 라이브러리로, 외부 API와의 통신을 관리합니다.
- React Navigation: 앱 내에서의 화면 전환과 네비게이션을 담당합니다.
- React Native Gesture Handler: 드래그 앤 드롭과 같은 복잡한 사용자 제스처를 처리합니다.
SearchComponent.js: 사용자가 소환사 이름을 검색하면 결과를 표시하고, 로컬 스토리지에 최근 검색어를 저장합니다.homeScreen.js: 앱의 메인 화면을 구성하며, 사용자가 팀 구성을 위해 소환사를 검색하고 선택할 수 있는 인터페이스를 제공합니다.resultScreen.js: 최적화된 팀 구성 결과를 시각적으로 표시하며, 사용자가 팀 구성을 조정할 수 있도록 드래그 앤 드롭 인터페이스를 제공합니다.getDoc.js,setDoc.js,updateDoc.js: Firebase Firestore 데이터베이스와의 상호작용을 관리하며, 소환사 정보의 조회, 저장 및 업데이트를 담당합니다.
이 프로젝트는 지속적으로 발전을 목표하고 있으며, 다음과 같은 기능들이 추가될 예정입니다:
- 목표: 사용자들이 자신의 라이엇 게임 계정으로 앱에 로그인할 수 있도록 함.
- 구현 단계:
- 라이엇 개발자 포털에서 API 키를 받아 인증 시스템 구축.
- Firebase Authentication과 연동하여 로그인 기능 구현.
- 사용자 인터페이스에 로그인 및 로그아웃 기능 추가.
- 로그인 상태에 따른 사용자 경험 개선 (예: 프로필 정보 표시).
- 목표: 사용자들이 온라인으로 팀을 구성하고 소통할 수 있는 커뮤니티 기능 제공.
- 구현 단계:
- Firebase Realtime Database를 이용한 실시간 채팅 기능 구현.
- 사용자별 방 생성 및 참여 기능 개발.
- 게임 모드 및 선호 포지션에 따른 방 필터링 옵션 추가.
- 사용자 인터페이스 디자인 및 사용자 경험 최적화.