Skip to content

SSAFY 9기 자유 주제 - AR 및 삼성 헬스를 연동한 TO DO 자기 관리 앱

Notifications You must be signed in to change notification settings

mi2ntae/Neulhaerang

Repository files navigation

캐릭터🤣와 함께하는 TODO 기반 자기관리 어플리케이션☀️

🛁 샤워, 요리 등과 같은 생존을 위한 활동
📕 성장을 위한 모든 활동
친분을 다지는 활동 👨‍👨‍👧‍👧
🦾 몸을 건강하게 하는 활동
🎨 당신의 상상력을 펼칠 수 있는 활동
애정하는 대상과의 활동 🐶

🎧모두 늘해랑과 함께하세요🌞

프로젝트 소개주요 기능프로젝트 차별점기술 스택인프라 구조산출물팀원 소개

🌞 프로젝트 소개

TODO와 루틴 기반의 자기관리 어플리케이션입니다.
Gamification 요소를 통해 사용자의 흥미를 유발하도록 구현하였습니다.
사용자는 TODO와 루틴을 완료하여 설정한 스탯(갓생력, 창의력, 인싸력, 최애력, 튼튼력, 생존력)을 올릴 수 있습니다.
TODO와 루틴의 미완료 비율에 따라 나태도가 상승하고 일정 수준 이상이 되면 AR통해 나태괴물을 물리쳐야 계속 어플을 이용할 수 있습니다.
이를 통해 사용자가 캐릭터를 어플 세계의 또 다른 나로 인식할 수 있고 흥미 유발을 할 수 있습니다.

☁ 기능 소개

로그인 페이지
카카오 소셜 로그인 후 자동으로 메인 화면으로 접속합니다.
로그인 정보가 자동으로 저장되어 한번 로그인하면 다시 로그인하지 않습니다.
메인 페이지
상단에 나태도와 피로도를 나타냅니다.
나태도와 피로도가 높으면 TODO와 루틴을 수행하는데 제약이 생깁니다.
TODO/루틴 활용 제약 조건
나태도가 70을 넘으면 생성과 활용을 할 수 없습니다.
피로도와 관계없이 하루에 3개의 TODO/루틴을 생성할 수 있으며
피로도가 낮을 수록 추가적으로 생성 가능합니다.
TODO/루틴 등록 페이지
메인의 '+'를 통해 진입할 수 있습니다.
왼쪽 아이콘을 통해 올릴 스탯을 지정할 수 있습니다
루틴을 선택하면 날짜 선택이 사라지고 반복 날짜를 선택할 수 있습니다
알림 여부와 알림 시간을 지정할 수 있습니다
TODO 수정 페이지
목록에서 롱프레스를 하여 접근할 수 있습니다
TODO의 알림 여부, 날짜, 시간, 스탯 정보를 수정할 수 있습니다.
루틴 수정페이지
목록에서 롱프레스를 하여 접근할 수 있습니다
루틴의 반복 날짜와 알람 여부, 알람 시간을 수정할 수 있습니다.
루틴 삭제
사용자는 루틴을 제거할 수 있습니다.
이때 앞으로의 루틴도 제거가 가능합니다.
우편함
생성형 AI인 챗 GPT를 통해 사용자가 전날 완료한 TODO/루틴을 토대로 편지를 작성해줍니다.
마이페이지(스탯)
그래프를 통해 사용자의 현재 스탯 정보를 알 수 있습니다.
스탯은 갓생력, 최애력, 창의력, 인싸력, 튼튼력, 생존력이 존재합니다.
갓생력은 성장을 위한 모든 활동, 생존력은 샤워, 요리 등과 같은 생존을 위한 활동
인싸력은 친분을 다지는 활동, 튼튼력은 몸을 건강하게 하는 활동
최애력은 애정하는 대상과의 활동, 창의력은 상상력을 펼칠 수 있는 활동과 관련되어 있습니다.
마이페이지(의상실)
사용자는 목도리, 모자, 안경, 가방, 스킨, 무기를 통해 캐릭터를 커스터마이징 할 수 있습니다.
마이페이지(칭호)
사용자는 얻은 칭호 중 하나를 선택해 캐릭터에 장착할 수 있습니다.
얻지 못한 칭호는 회색으로 나타납니다.
나태괴물 처치
마이페이지에서 캐릭터 왼쪽의 나태괴물을 클릭하여 진입할 수 있습니다
사용자는 나태도가 70이상인 경우 나태괴물을 처치하지 않으면
TODO와 루틴을 수행/생성할 수 없습니다.
나태괴물을 클릭하면 나태괴물의 hp가 감소합니다.
3마리를 물리치면 나태도를 50 포인트 감소합니다.
처치 후, `My Room` 버튼을 통해 마이페이지로 이동할 수 있습니다.
소셜(주위사용자 태그)
마이페이지 소셜 버튼을 통해 진입할 수 있습니다
반경 100m에 로그인된 앱에 접속중인 주변 사용자들의 캐릭터 정보를 조회할 수 있습니다.
조회할 수 있는 정보는 상대의 스탯과 커스터마이징된 캐릭터입니다.
캐릭터를 클릭하여 스탯(인싸력)을 올릴 수 있습니다.
알림
사용자의 활동에 따라 알림을 보냅니다.
칭호 리스트

⛅ 프로젝트 차별점 및 기술 특이점

  • 캐릭터를 육성하는 게임적인 요소로 흥미유발
    • TODO와 루틴을 완료하면 캐릭터의 6가지 스탯중 한가지를 올릴 수 있음
    • 스탯은 갓생력, 인싸력, 최애력, 생존력, 튼튼력, 창의력
    • TODO는 2 스탯 포인트, 루틴은 5 스탯 포인트를 올릴 수 있음
    • 사용자는 앱을 사용하며 아이템, 칭호 등의 보상을 얻고 캐릭터를 커스터마이징 할 수 있음
    • 이벤트 함수 로직을 통해 일정 조건을 달성하면 사용자가 칭호를 얻음
  • AR을 활용하여 게임적인 요소를 추가
    • Uaal(Unity as a Library)를 도입하여 안드로인드 어플에서 Unity의 AR 기능을 이식
    • 나태도가 70이상이면 나태괴물을 물리쳐야만 TODO와 루틴 수행 가능
    • 나태도가 50이상일 때부터 나태괴물 처치 가능
    • AR을 활용하여 3마리의 나태괴물을 물리치면 나태도 50 하락
  • 수면데이터를 사용하여 현실감 증가
    • 삼성 헬스와 헬스 커넥트를 이용하여 건강 데이터 수집
    • 수면량에 따라 생성할 수 있는 TODO와 루틴의 개수를 제한
    • 피곤한 사용자가 무리하지 않도록 구현
  • AI를 활용한 편지 제공
    • 사용자가 전날 완료한 TODO와 루틴을 기반으로 편지를 제공
    • 이를 통해 사용자의 지속적인 사용을 독려하고 긍정적인 요소를 불어넣음
  • 주위 사용자 찾기를 통한 소셜 기능
    • Redis Geospatial을 이용하여 기기의 GPS 데이터로 주변 100m 이내의 사용자들의 정보를 실시간으로 가져옴
    • 주변 사용자의 커스터마이징된 캐릭터 정보를 확인할 수 있음

🔧 기술 스택

Backend

Java Spring Boot Gradle Spring Security JPA JWT Spring Cloud OpenFeign Swagger Lombok JUnit

Frontend

Kotlin jetpack compose compose ui compose material3 retrofit2

Database

Redis MongoDB MariaDB

Management Tool

Notion Mattermost Gitlab JIRA Figma

CI/CD

Ubuntu Jenkins Docker Nginx EC2 Linux

IDE

Intellij Adroid studio visual studio unity

3rd party

Firebase Kakao Login Chat GPT

🎇 시스템 아키텍처

📂 기획 및 설계 산출물

💭 요구사항 정의 및 기능 명세

🎨 화면 설계서

🐾 API 명세서

✨ ER Diagram

🐛 버그 리포트

🤙🏻 Conventions

FINALE 팀원들의 원활한 소통을 위한 ✨MR 컨벤션, Commit 컨벤션, JAVA 컨벤션, Kotlin 컨벤션✨ 입니다 😎

💗 팀원 소개

📣 늘해랑을 만든 FINALE 팀원들을 소개합니다!

팀원소개

이희정 강준영 김민태 김유진 박정은 임성원
Leader & Frontend Frontend Backend & Infra Frontend & Backend Backend Frontend

💌 팀원 역할

  • 이희정
    • 팀장, 카카오 로그인 및 토큰 갱신, Unity-Android 연동, 메인페이지 구현, 중간발표
  • 강준영
    • 마이페이지 구현, 캐릭터 커스터마이징 기능 구현, 최종발표
  • 김민태
    • 소셜 로그인 및 회원관리, Redis Geospatial을 활용한 주위 사용자 확인 기능, MongoDB를 활용한 멤버 스탯 관리, 헬스 커넥트를 통해 건강 정보 연동, CI/CD 구축, PPT 제작
  • 김유진
    • TODO API 구현, 챗 GPT를 활용한 편지 생성 기능 구현, 나태괴물 처치 기능 구현, AR 소셜 기능 구현
  • 박정은
    • 루틴, 칭호 API 구현, 칭호 이벤트 로직 구현, 캐릭터 커스터마이징 정보 관리, 스케줄러 로직 구현, PPT 제작, 리드미 작성
  • 임성원
    • TODO 입력, 수정 페이지 구현, 애플리케이션 배포, 뷰모델 및 api 통신

About

SSAFY 9기 자유 주제 - AR 및 삼성 헬스를 연동한 TO DO 자기 관리 앱

Resources

Stars

Watchers

Forks

Packages

No packages published