Skip to content

SMUMC 6기 데모데이 프로젝트 - 포커스업 앱 FE

Notifications You must be signed in to change notification settings

m1nzez/FocusUp-FE

 
 

Repository files navigation

FocusUp-FE

이 프로젝트는 SMUMC 6th의 일환으로 진행되었습니다.

프로젝트 개요

FocusUp은 게임형 습관 형성 및 집중력 향상 서비스입니다. 사용자는 특정 목표를 설정하고, 게임과 유사한 방식으로 목표를 달성하여 자신의 집중력을 강화할 수 있습니다. 이 레포지토리는 FocusUp의 프론트엔드 부분을 담당하며, Swift와 다양한 API를 활용한 iOS 애플리케이션을 구현하고 있습니다.

기술 스택

  • 언어: Swift
  • IDE: Xcode
  • 의존성 관리: CocoaPods, FSCalendar
  • API 통신: Alamofire, Kakao API, Naver API

주요 기능

  • 카카오/네이버 로그인: 소셜 로그인 기능을 통해 간편하게 로그인하고 메인 화면으로 이동할 수 있습니다.
  • 습관 형성 관리: 사용자가 설정한 목표에 맞춰 진행 상황을 추적하고 관리할 수 있는 기능.
  • 게임화 요소: 목표 달성 시 보상 시스템을 도입하여 사용자 동기를 강화.
  • UI 설계: 스토리보드 활용

스토리보드를 활용한 UI 설계

FocusUP 프로젝트의 UI는 스토리보드를 통해 구현되었습니다. 이를 통해 뷰 계층 구조와 오토레이아웃을 시긱적으로 관리하며, 더 직관적인 UI 구성을 가능하게 했습니다.

  • 자동 레이아웃(Auto Layout) 기능을 사용하여 다양한 화면 크기에서 최적의 사용자 경험을 제공하고 있습니다.
  • UI 요소 간의 관계와 **전환(segue)**은 스토리보드 상에서 직관적으로 관리하며, 각 화면 간의 데이터 흐름과 네비게이션을 쉽게 설계하였습니다.

화면별 기능 명세서

홈 화면

(담당자: 김민지)

  • 생명, 물고기, 레벨 표시: 현재 사용자의 생명(조개껍데기), 물고기(코인), 레벨 상태가 표시됩니다.
  • + 버튼: 루틴 추가 화면으로 이동하여 새로운 루틴을 설정할 수 있습니다.
  • 집중 타이머: 타이머 시작 버튼을 누르면 집중 시간이 측정됩니다. 루틴 알람을 통해 진입한 경우 해당 루틴 제목이 표시되며, 그렇지 않으면 타이머만 표시됩니다.
  • 집중 시간 기록 종료 버튼: 집중 시간을 종료하고 보상을 지급받을 수 있습니다.
  • 부스터 기능
    • 레벨별 부스터 타임: 사용자가 일정 시간 이상 집중하면 부스터 타임이 시작되며, 집중 시간에 따라 코인을 추가로 획득할 수 있습니다. 레벨에 따라 부스터 타임의 코인 획득 배율이 달라집니다.
    • 부스터 타임 제한: 부정 사용 방지를 위해 부스터 타임은 최대 3시간까지 적용됩니다.
  • 잠시 멈춤
    • 집중 시간 일시 정지: 사용자가 불가피하게 집중 시간을 멈춰야 할 경우, 일시 정지 버튼을 눌러 최대 10분간 타이머를 멈출 수 있습니다. 10분을 넘기면 집중 시간이 자동으로 종료됩니다.
  • 코인 정산
    • 집중 시간 코인 지급: 사용자가 집중한 시간만큼 코인이 지급되며, 부스터 타임에 따라 추가 보상이 적용됩니다.
    • 루틴 시간 보상: 알람을 통해 진입한 루틴에서 목표 시간을 달성하면 추가 코인이 지급됩니다.
    • 보너스: 목표 시간을 초과하여 집중하면 보너스 코인을 획득할 수 있습니다.
  • 루틴 설정
    • 목표 루틴 설정: 루틴 제목, 반복 요일, 시작 시간, 목표 시간을 설정할 수 있습니다.
    • 보너스 코인 지급: 설정한 목표 시간을 초과하여 집중했을 때 보너스 코인이 지급됩니다.

알람 기능

  • 루틴 알람: 설정한 루틴 시간이 되면 알람이 울리며, 알람 제목과 현재 시간이 표시됩니다.
  • 알람 연기 및 포기: 알람을 5분 뒤로 미룰 수 있으며, 그럴 경우 코인이 감소합니다. 루틴을 포기하면 생명(조개껍데기)이 차감됩니다.

마이 페이지

  • 레벨 조정 기능: 사용자가 자신의 레벨을 하향 조정할 수 있으며, 조정 후 부스터 타임 진입 횟수는 기록되지 않습니다.
  • 루틴 관리: 가장 최근에 설정한 3개의 루틴이 표시되며, 전체 루틴은 ‘더보기’ 버튼을 눌러 확인할 수 있습니다.

캐릭터 화면

  • 캐릭터 상태 표시: 사용자의 캐릭터와 생명, 물고기 상태가 표시됩니다.
  • 아이템 적용: 사용자가 보유한 아이템을 캐릭터에게 적용할 수 있으며, 상점을 통해 추가 아이템을 구매할 수 있습니다.

상점

  • 아이템 구매: 상점에서 생명 및 부활권을 구매할 수 있습니다. 생명이 모두 소진된 경우, 부활권을 통해 캐릭터와 아이템을 다시 불러올 수 있습니다.

폴더 구조

  • FocusUp.xcodeproj: Xcode 프로젝트 설정 파일.
  • FocusUp.xcworkspace: Xcode 워크스페이스 파일.
  • FocusUp: 앱의 메인 소스코드가 포함된 폴더.
  • Pods: 프로젝트에 사용된 외부 라이브러리와 의존성을 관리하는 폴더.
  • .github: GitHub용 pull request 템플릿과 설정 파일.
  • Podfile & Podfile.lock: CocoaPods 의존성 설정 파일.

About

SMUMC 6기 데모데이 프로젝트 - 포커스업 앱 FE

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Swift 99.9%
  • Ruby 0.1%