저는 끊임없이 배우고 성장하는 즐거움을 추구하며 다양한 경험을 통해 저만의 방향으로 나아가고자 합니다.
Phone | 010-5424-3464
Email | [email protected]
School | 부산SW마이스터고등학교 SW개발과 재학 중
Github | https://github.com/yunse0708
Velog | https://velog.io/@thddbs07/post
Tistory | https://yun-se0.tistory.com/
Frontend 2명, Backend 2명 (총 4명)
교내 세탁기 알림 및 예약 서비스 v1 2024.05.24 ~ 2024.11.28 (6개월) → v2 현재 진행 중
🏅 교내 전공동아리 우수상(3위)
Github
https://github.com/TeamPLOY/Bubble_APP
https://github.com/TeamPLOY/Bubble_v2
Link
Stacks
Figma
, Flutter
, Firebase
, React
, Typescript
, Styled-Components
참여 직무
→ 우리는 학생들이 기숙사 생활을 더욱 편리하게 할 수 있도록, 세탁기 사용 시간을 확인하고 알림을 제공하며, 예약 서비스까지 지원하는 시스템인 버블을 도입하고자 했습니다.
App Store, One Store를 통해 앱 배포 → 다운로드 수 100+ 달성
2024학년도 교내 전공동아리 전시회 우수상 (3등)
<aside>
Figma를 활용해 Auto Layout, 컴포넌트 구조를 익히며 디자인 시스템을 구축했습니다. User, Admin을 포함하여 총 20페이지를 모두 제작하였습니다. 또한, 인스타그램 배너 및 프로젝트 발표회 자료를 제작하였습니다.
</aside>
<aside>
홈화면, 예약화면 퍼블리싱 작업을 진행하였으며, API 연결을 도맡아했습니다. 또한, FCM을 활용하여 사용자 알림구현을 진행했습니다.
세탁기 잔여 시간 확인 페이지 구현
MachineGetApi
를 통해 세탁기 데이터를 서버에서 가져오며, 데이터가 정상적으로 로드되지 않거나 로딩 중일 때 적절한 UI 피드백을 제공하는 기능을 구현했습니다.ListView.builder
를 이용해 세탁기 데이터를 화면에 동적으로 표시하며, 화면 크기에 맞게 세탁기 박스를 조정할 수 있도록 구현했습니다.time
으로 받아와, time / 60
을 사용하여 시간 단위로 변환하고, 나머지는 분 단위로 변환하여 00:00 형식으로 표시하는 로직을 추가했습니다.getuserstaet
메서드를 통해 사용자의 세탁실 정보를 API로 받아오고, 이를 화면에 동적으로 반영할 수 있도록 했습니다.사용자 알림 구현
Firebase Cloud Messaging(FCM)
을 활용해 푸시 알림 기능을 구현했습니다.firebase_messagin
에서 제공하는 알림 권한 요청 API를 사용하여, 앱이 시작될 때 사용자에게 알림 수신을 허용할 것인지 묻는 팝업을 띄우고 이를 처리했습니다.<aside>
🚨 problem - firebase와 iOS 연동 문제
Firebase와 iOS를 연동하기 위해 Podfile에 초기 코드 작성 후 pod install
을 실행하는 과정에서 에러가 발생하여 빌드가 정상적으로 이루어지지 않았습니다. 이로 인해 프로젝트가 실행조차 되지 않았습니다.
Parse Issue (Xcode): Module 'firebase_analytics' not found
/Users/song-yunseo/Documents/bubble_app/ios/Runner/GeneratedPluginRegistrant.m:11:8
Unable to load contents of file list: '/Target Support Files/Pods-Runner/Pods-Ruvnner-frameworks-Release-input-files.xcfilelist'
⚒️ sovled
iOS와 Firebase 연동 과정에서 발생한 핵심 문제는 flutter_core의 버전 충돌이었습니다. 이를 해결하기 위해 빌드 로그를 분석하고, 관련 블로그와 생성형 AI를 활용해 원인을 추적했습니다. 이후 Podfile 설정을 조정하고 flutter_core 버전을 업그레이드하여 정상적으로 빌드에 성공했으며, 두 플랫폼 모두에서 알림 기능이 원활히 작동하도록 구성했습니다.
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'NO'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
config.build_settings['ENABLE_BITCODE'] = 'NO'
config.build_settings['SWIFT_VERSION'] = '5.0'
config.build_settings['SWIFT_EMIT_MODULE_INTERFACE'] = 'NO'
</aside>
<aside>
🚨 problem2 - 소통 문제
전공 동아리 초기 회의를 진행했지만, 소통이 원활히 이루어지지 않았고, 회의 내용도 제대로 기록되지 않았습니다. 이로 인해, 서로의 진행 상황을 파악하지 못해 같은 컴포넌트를 중복 개발하는 문제가 발생했습니다.
⚒️ sovled2
그래서 저희는 노션을 적극적으로 활용해보기로 했습니다. 주마다 정기적인 회의를 진행하고, 회의록을 노션에 문서화하여 체계적으로 관리하였습니다. 각자의 작업 내용, 구현 일정 등을 문서화해 두고 중복 개발이나 누락되는 작업이 없도록 조율했습니다. 또한, 공통 컴포넌트나 공용 로직은 페이지를 따로 만들어 공유함으로써 협업 효율을 높일 수 있었습니다.이런 방식 덕분에 팀 전체의 커뮤니케이션 문제가 크게 개선되었고, 프로젝트 진행도 한층 더 매끄러워졌습니다.
</aside>
-다양한 사람들과 소통하고 싶습니다. 위 이메일로 편하게 연락 주세요!