Skip to content

cerdeuk/CERTI-ANDROID

Repository files navigation

🎓 Certi

“자격증, 나에게 딱 맞는 시작을 Certi로!”

image

자격증 고민부터 이력서 완성까지, 한 번에 도와주는

✨ 취준생을 위한 올인원 자격증 서비스 ✨

✅ 맞춤 자격증 추천

내 전공, 진로, 관심 분야 기반으로 지금 필요한 자격증을 추천!

✅ 공부법 & 일정까지 한 번에

시험 일정, 준비 팁, 학습 자료까지 모두 제공

✅ 스펙 자동 정리

쌓아온 자격증과 경험을 한눈에 정리하고, 목표 직무에 맞게 추천까지 연결

👤 Contributors

KakaoTalk_Photo_2025-07-17-04-47-37 004 KakaoTalk_Photo_2025-07-17-04-47-35 001 KakaoTalk_Photo_2025-07-17-04-47-36 003 KakaoTalk_Photo_2025-07-17-04-47-36 002
송민서(Lead) 이지현 김민지 김종우
소셜로그인
온보딩
검색
카테고리별 조회
이력서
취득 자격증
경력사항
대내외활동

취득예정 자격증
카드 애니메이션
추천 자격증
자격증 상세
로딩 애니메이션

💼 서비스 기능

기능 설명 주요 특징
1️⃣ 로그인 소셜 계정으로 간편하게 로그인하는 공간 - 카카오/구글 로그인 지원
- 로그인 상태 유지 시 홈으로 자동 이동
2️⃣ 온보딩 나의 정보를 입력하고 자격증 추천을 준비하는 단계 - 대학교, 학과, 학년, 계열, 희망 직무 입력
- 희망 직무는 최대 3개까지 선택 가능
- 단계별 프로그레스 UI 제공
3️⃣ 추천 자격증 입력 정보 기반으로 자격증을 추천받는 공간 - 희망 직무 기반 맞춤 추천
- 추천 직무 재설정 가능
- 자격증 유형, 태그, 인증기관 등 표시
4️⃣ 자격증 상세 자격증에 대한 상세 정보를 확인하는 공간 - 시험 일정, 취득 기간, 수수료, 유효기간 제공
- 즐겨찾기, 취득 예정/완료 등록 가능
- 외부 기관 링크 연동
5️⃣ 자격증 편집 등록한 자격증을 관리하는 공간 - 취득 예정 자격증 리스트 관리
- 삭제 시 모달 확인 후 반영
6️⃣ 홈 사용자 정보와 자격증 상태를 한눈에 보는 대시보드 - 사용자 인사말, 대학교/학과 정보 제공
- 이력서 프로그레스바로 작성 현황 시각화
- 추천/예정/즐겨찾기 자격증 노출
7️⃣ 카테고리별 조회, 검색 분야별 자격증 탐색 및 검색할 수 있는 공간 - 13개 카테고리 + 직무 기반 필터 구성
- 실기/필기/복합형 정렬
- 즐겨찾기 토글 및 필터링 가능
- 검색어 기반 실시간 검색
- 공백 및 결과 없음 시 안내 메시지 표시
- 자격증 리스트로 결과 제공
8️⃣ 이력서, 경력사항, 대내외 활동 자격증, 경력, 대내외 활동을 통합 관리하는 화면 - 자격증 카드 (앞/뒷면 전환 가능)
- 경력/대외활동 포함한 이력서 구성
- 최신순 정렬 및 편집 기능 지원
- 근무 기간, 회사명, 직무, 업무 내용 입력
- 최대 글자 수 제한 적용
- 삭제 및 최신순 정렬 가능
- 활동명, 단체명, 활동 소개 입력
- 활동 기간 선택
- 삭제 및 편집 가능

🛠️ Development Environment

항목 내용
IDE Android Studio Meerkat (2024.3.2 Patch1)
Language Kotlin (v2.0.21)
Architecture MVVM + Clean Architecture
UI Framework Jetpack Compose
Module 구조 Single Activity / Single Module
Navigation Jetpack Navigation
Dependency Injection Dagger-Hilt
Async Coroutine, Flow
Network Retrofit, OkHttp
Design System Material3
Build Tooling Gradle Version Catalog
Data Handling Repository Pattern

💡 기술 선정 이유

1️⃣ MVVM

  1. 관심사 분리
    • UI, 데이터 처리, 비즈니스 로직을 분리해 각 컴포넌트의 책임이 명확해지고, 테스트 및 유지보수 효율이 높아집니다.
  2. View ↔ ViewModel N:1 대응
    • ViewModel 재사용성이 높아져 보일러플레이트 코드 감소에 효과적입니다.

2️⃣ Repository Pattern

  1. 데이터 소스 추상화
    • 네트워크 및 로컬 DB 등 다양한 데이터 소스를 통합적으로 관리할 수 있어 데이터 접근 로직을 분리할 수 있습니다.
  2. 유지보수 및 확장성 향상
    • 변경 사항을 Repository 레이어에 국한시켜 전체 구조에 영향을 주지 않으므로, 유지보수성이 높습니다.

3️⃣ Dagger-Hilt

  1. 통일된 DI 패턴 제공
    • 일관된 의존성 주입 방식을 통해 협업 시 코드 가독성과 이해도를 높일 수 있습니다.
  2. Android 환경 최적화
    • Android 컴포넌트에 맞춘 주입 어노테이션을 제공하여 개발 효율성을 높입니다.

4️⃣ Clean Architecture

  1. 비즈니스 규칙의 명확한 분리
    • 이번 프로젝트는 iOS, 서버 등 다양한 플랫폼과 병행 개발이 이루어지므로, 비즈니스 로직을 외부 변화(플랫폼, UI 등)로부터 독립시키는 Clean Architecture가 더 적합합니다.
    • 도메인 계층이 선택적인 구글 권장 아키텍처보다, 도메인을 중심에 두는 구조가 명확한 책임 분리에 유리하다고 판단했습니다.
  2. 변경에 유연하게 대처 가능
    • 계층 간 의존성을 추상화해 느슨한 결합 구조로 구성되어, 스프린트 과정에서 발생할 수 있는 다양한 변경 사항에 유연하게 대응할 수 있습니다.

📄 Convention

🔗 컨벤션 문서 보러가기

  • Code Convention
  • Git Convention
  • Issue & PR Convention
  • Code Review convention

🗂️ Project Structure

📂 org.sopt.certi
┣ 📂 core
┃ ┣ 📂 component
┃ ┣ 📂 navigation
┃ ┣ 📂 network
┃ ┣ 📂 state
┃ ┣ 📂 util
┣ 📂 data
┃ ┣ 📂 local
┃ ┃ ┣ 📂 datasource
┃ ┃ ┣ 📂 datasourceimpl 
┃ ┣ 📂 mapper
┃ ┃ ┣ 📂 todata
┃ ┃ ┣ 📂 todomain
┃ ┣ 📂 remote
┃ ┃ ┣ 📂 datasource
┃ ┃ ┣ 📂 datasourceimpl
┃ ┃ ┣ 📂 dto
┃ ┃ ┃ ┣ 📂 base
┃ ┃ ┃ ┣ 📂 request
┃ ┃ ┃ ┣ 📂 response
┃ ┃ ┣ 📂 service
┃ ┃ ┣ 📂 util
┃ ┣ 📂 repositoryimpl
┣ 📂 di
┣ 📂 domain
┃ ┣ 📂 model
┃ ┣ 📂 repository
┃ ┣ 📂 type
┃ ┣ 📂 usecase
┣ 📂 presentation
┃ ┣ 📂 ui
┃ ┃ ┣ 📂 splash
┃ ┃ ┣ 📂 home
┃ ┃ ┣ 📂 certDetail
┃ ┃ ┣ 📂 certList
┃ ┃ ┣ 📂 certrecommend
┃ ┃ ┣ 📂 login
┃ ┃ ┣ 📂 main
┃ ┃ ┣ 📂 onboarding
┃ ┃ ┣ 📂 precertificationedit
┃ ┃ ┣ 📂 resume
┃ ┃ ┣ 📂 search
...
┃ ┣ 📂 util
┣ 📂 ui.theme

About

서티 맞습니다 (o) 써티, 썰티, 설티 아니에요 (x)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages