2022 동계 모각소 

플각소 활동 내용 및 발표 자료

<팀원>

사이버보안학과 박현재

사이버보안학과 김태휘

사이버보안학과 정동민

사이버보안학과 권경민


<팀원별 활동내용>

2023 Google Solution Challenge 및 GSC WinterCup를 위해 ‘Vary Recycle’이라는 크로스 플랫폼 앱 개발을 함께 진행했습니다.

박현재

Ovenapp.io를 활용한 초기 빌드 단계의 앱의 기능별 필요 컴포넌트 미 화면 구성

Rive Flutter Package를 활용하여 Splash 스크린에 사용될 로고 애니메이션 및 로고 이미지 제작

Firebase의 Authentication 기능을 통해 유저가 간편하게 Google 계정으로 로그인 기능 구현 및 휴대폰 인증 절차를 통한 다중 가입 방지 기능 구현

Firebase의 Firestore DB에 유저가 첫 회원 가입 시 이름과 크레딧 등의 정보를 데이터베이스에 문서로 생성하여 DB에 유저 정보 저장 기능 구현

김태휘

플러터로 어플리케이션을 개발하기 위해서 기본적인 Dart 문법을 학습했다.

'노마드코더' 온라인 강의를 보고 예제를 클론코딩하면서 기본기를 익혔다.

이후 바로 공모전을 위한 어플리케이션을 개발했다.

구글 로그인 인증, 카메라 작동, 파이어베이스 연동 및 스토리지 업로드 등 기본적인 스켈레톤 코드를 구현했다.

또한 YOLOv5 모델을 커스텀 데이터에 맞춰 학습시키고 모델 예측을 위한 이미지 데이터 전처리 및 예측 결과 후처리를 구현했다.

정동민

GSC 2023에 출전하기 위해서 팀을 구성, 팀장을 맡았다. 

머신러닝 부분을 맡은 팀원 김태휘와 함께 협동하여, 서비스의 백엔드 시스템 구현을 하였다.  

그 외에도 플러터 분리배출 가이드라인 코드 제작이나, 카메라 스크린, 홈 스크린 등의 레이아웃 제작에 참여했다. 

GSC WinterCup 출전을 위한 예비 기획서의 전반적인 내용을 작성하고, 대회 본선 발표 ppt 등을 제작, 발표하는 역할을 맡았다.

권경민

Flutter의 여러 위젯을 활용하여 layout구성을 이루면서 기기별로 깨지는 문제를 해결 하였다. 

그리고 초기 데이터 셋 구축시 기본 정보를 firestore에서 불러와 검증하고 초기 값을 할당 해 주었다. 

어플에 알맞은 디자인을 찾고 그 디자인을 직접 클론 해보며 어플의 포인트를 살릴기 위해 노력하였다.

지금은 크레딧 정보를 불러오고 저장하는 과정에서 수정이 되지 않은 정보을 기존 데이터 셋에서 얼마나 증가했는지 퍼센트로 구하기 위해 flutter의 builder snapshot 을 추가 공부하였다.


<팀원별 최종성과>

저희 플각소팀이 개발한 앱 “Vary Recycle”은 GSC WinterCup에서 48개의 예선 팀 중에서 12개의 본선 진출팀에 선정되어 아이디어 및 시연 등을 발표하게 되었습니다.

박현재

markdown 언어 학습을 통해 README file 작성법 숙지

git 협업 방식 중 git flow 방식 진행

스플래시 화면 및 로그인 화면 구성

UserCredential 정보에 따른 홈화면 혹은 로그인 화면 분기 구현

Firebase auth를 활용한 유저 휴대폰 번호 인증 기능 구현

회원가입 및 로그인 유저 정보 Firestore DB에 업데이트 구현

김태휘

플러터라는 간단하면서도 효율적인 프론트 웹 프레임워크를 학습할 수 있는 좋은 기회였다.

또한 팀원과 같이 어플리케이션을 개발하면서 오픈소스를 통한 협업 방법도 학습할 수 있었다.

커스텀 머신러닝 모델을 만들면서 데이터의 중요성에 대해 깨달았고, 이를 라벨링하는 일이 얼마나 큰 비용을 가지는지 알게되었다.

더 적은 데이터로 더 높은 성능을 만드는 Few shot learning 방법에 대해서도 관심을 갖게되었다.

정동민

개발적인 측면에서는 플러터를 이용한 모바일 프론트엔드 프로그래밍 경험을 쌓고, 그 외에도 백엔드 시스템이 어떻게 돌아가는지 등의 내용을 경험해 볼 수 있었다. 

이를 통해 웹 및 모바일 서비스 구현에 대한 전반적인 기반 지식을 쌓을 수 있었다. 

프로젝트 측면에서는 팀 단위 프로젝트를 처음으로 끝까지 경험해 보았다.  

개발한 내용을 바탕으로 GSC WinterCup의 본선에 출전을 하였는데, 본선 준비를 하면서 서비스의 정당성이나 개선점 등을 고려해보는 시간을 가졌다. 

이러한 경험은 앞으로의 기획이나 개발에 있어서 중요한 자산이 될 것 같다.

권경민

아직 완벽하게 구현이 완료되진 않았지만 재활용 가이드 앱을 만들며 나의 진로에 있어서 확고히 한 느낌이 든다. 

의외로 앱개발도 끌린다고 느꼈다. 실제 UI디자인을 참고하며 다른 디자이너의 UI를 보며 감탄했고 공부가 되었다. 

나의 개발능력을 향상 시킬 수 있었던 과정이었고 github를 통해 직접 협업하며 협업과정에서 스스로 고쳐야 할 부분에 대해서도 고찰 할 수 있었다. 

어뷰징을 막는 방안도 생각해볼 계획이다.


<팀원별 향후계획>

Google Solution Challenge의 기능 보완한 앱을 최종 제출하여 Top 100의 아이디어에 선정되어 전문가 멘토님께 디테일하고, 

실무적인 피드백을 받아보고, 피드백을 바탕으로 앱을 발전시키는 것이 저희 플각소팀의 공통 목표입니다.

박현재

다른 구글 계정 휴대폰 번호가 같은 번호로 인증 시도 시 차단 기능 구현해보고 싶고, Firebase에 저장된 다른 유저들의 정보를 불러와서 일종의 커뮤니티 기능을 추가하고 싶다. 

적립된 크레딧을 사용할 수 있는 사용처 시스템을 지역화폐 서비스와 연동되도록 구현해서 지역사회와 협업할 수 있는 서비스로 발전시켜나가고 싶다.

김태휘

플러터 프레임워크를 통해 더 많은 앱을 구현해보고 싶다.

파이어베이스와 같은 서비스에 의존하지 않고 다음 번에는 Django나 Flask로 직접 여러 백엔드 서비스를 구현해볼 예정이다.

또한 머신러닝 파이프라인을 구축하여 더 높은 성능의 모델을 만들고 이를 CI/CD하는 과정을 경험해보고 싶다.

정동민

백엔드 시스템을 처음 구현해봐서, 아직 미숙한 부분이 많아 아쉬움이 남는다. 

추후에는 Node.js, Spring, Django 등과 같은 백엔드 시스템을 더 자세하게 공부해서, 트래픽 부하나 동시 요청 등을 효율적으로 처리하는 시스템을 만들어보고 싶다. 

개인적인 프로젝트를 앞으로 실행해서 이러한 경험을 성장시킬 예정이다.

권경민

플러터를 활용하며 실제 어플을 제작하는 과정을 통해 웹 개발이 중심이었던 나에게 앱 개발이라는 새로운 경험을 해주었다. 

웹에서 구현이 어려웠던 부분이 앱에서 의외로 간단하게 구현되는 과정을 통해 앱 개발에 대해서 조금더 공부를 해볼 예정이다. 

그리고 시큐어 코딩을 하는 과정도 조금 가미하여 어뷰징을 막는 방안도 생각해볼 계획이다.


<발표자료>