Source

Android : https://github.com/whale2023/job-recommendation-android
Server : https://github.com/whale2023/job-recommendation-backend

📖 상세 내용

앱 아키텍처 앱 예제 앱 예제 앱 예제 앱 예제 앱 예제

🐷
팀 프로젝트로 진행된 프로젝트입니다. 장애인 맞춤형 취업 추천 앱 Whale은 공공데이터를 활용하여 자체 알고리즘에 따라서 사용자의 스펙과 선호도에 따라 구인 중인 회사를 추천하는 앱입니다. 사용자가 회원가입 시 장애 유형과 등급을 저장하고 이력서를 작성하면서 자격증, 학력과 같은 스펙과 연봉, 배리어프리 여부, 주변 건강센터 유무 등 선호하는 사항을 선택할 수 있습니다. 이에 따라 자체 알고리즘을 통해 점수를 매겨 사용자에게 추천해주고, 사용자는 이를 위시리스트에 추가하여 관리할 수 있습니다. 또한, 협업 필터링 방식을 이용하여 나와 유사한 사람의 선호하는 아이템도 같이 추천을 해줍니다.

🛠️ 사용 기술 및 라이브러리

- Kotlin, Android
- Jetpack Compose
- dagger hilt, Gson, Retrofit2
- navigation, Icons, coil, pager, kalendar
- Timber
- Figma, Postman, GitHub

📱 담당한 기능(Android)

- Figma를 활용하여 앱 디자인
- di, presentation, domain, data 멀티 모듈 설계
- mvvm 구조에 맞게 전체 구조 설계
- 일관된 디자인을 위해 MaterialTheme(color, typorgraphy, padding) 세팅
- 의존성 주입을 위한 기초 세팅
- 전체 navigation 흐름에 맞게 구축
- Retrofit2 통신 구조 설계 및 세팅
- 로그인 UI, 회원가입 UI, 홈 UI, 추천 UI, 위시 리스트 UI 구성
- 로그인 기능
- 회원가입 기능, 다음 새주소 API를 웹뷰로 제공
- pager로 주요 행사 홈에 띄우기
- 위시리스트 기능
- 추천 리스트 기능

💡 느낀 점

- Jetpack Compose를 처음 공부하고 프로젝트를 하면서 전반적인 기초를 쌓음.
- composable의 생명주기에 대해 이해할 수 있었고, 불필요한 recomposition을 최소화 하기 위해 노력함.
- Flow의 사용법에 대해 이해하였고 통신 시 State 클래스 상태에 따라 화면에 출력을 해줄 수 있게 구축할 수 있었음.
- multi module과 의존성 주입으로 클린 아키텍처를 설계하고 코드의 재사용성이나 유지 보수의 장점에 대해 이해함.
- MaterialTheme을 사용해서 UI를 구성 시 일관된 디자인을 유지할 수 있었음.