Post

예술적인 소프트웨어 회고록

경희대학교 예술적인 소프트웨어를 마치며...

24년도 1학기부터 시작했던 예술디자인대학소프트웨어융합대학의 연합 대회인 “예술적인 소프트웨어”가 최종 발표와 함께 마무리되었습니다. 이 글을 통해 대회를 진행하며 느꼈던 점과 전반적인 후기 정리 & 회고를 해보려 합니다.

예술적인 소프트웨어?

경희대학교 예술적인 소프트웨어는 “예술의 미학, 기술의 실현”이라는 키워드로 진행되는 일종의 장기간(약 4개월) 해커톤 행사입니다. 예술디자인대학과 소프트웨어융합대학이 서로 협력해 서비스 기획부터, 디자인, 개발까지 진행하는 형태입니다.

분야는 총 3가지로 주니어, 웹/앱, 실감미디어로 이루어져 있으며 저는 웹/앱 분야에 참여했습니다.


Team 쿡.

팀 구성원은 총 6명으로, Design 2명, Server 2명, iOS 2명으로 구성되었습니다. 팀명이 Team 쿡인 이유는.. 저희 팀원 모두가 아이폰을 사용해서 iOS 앱을 개발하기로 결정했기 때문에?? 😼

별 다른 의미는 없습니다. ㅎㅎ

IMG_1844


BBIP

그리하여 저희 Team 쿡이 기획하고, 개발하게 된 서비스는 BBIP 입니다!

아마 대학생, 취준생이라면 코로나 이후 관심사가 비슷한 사람들과 모여 진행하는 오프라인 스터디가 엄청 많다는 걸 느끼셨을 거에요. 저 역시 학교에 입학 후 진행한 스터디만 3~4개는 되는 것 같아요.

보통 스터디 일정, 자료, 활동내용 등을 관리하기 위해 여러 툴을 ex) Notion, Slack 사용하게 되는데, 저희 팀은 이곳에서 불편한 점이 많았습니다.


Why?

“기존 툴에 비해 가볍지만 확실하게”

일반적으로 진행되는 스터디는 단기간인 경우가 대다수입니다. 때문에 짧으면 주 단위, 길면 3개월 남짓 되는 기간에 Notion, Slack과 같은 툴은 너무 무겁다고 느꼈습니다. 그리고 여러 툴을 동시에 사용하는 불편함 또한 없앨 수 있는 스터디그룹 관리를 위한 서비스를 만들어 보고자 했습니다.

설문을 통한 수요조사로 그룹 스터디 관리에 꼭 필요한 기능을 추려보았고, 다음은 BBIP의 핵심 기능이 되었습니다.

  1. 출석 인증 (전자 출결 방식)
  2. 게시판 (공지, Q&A)
  3. 스터디 장소 공유
  4. 주차별 계획
  5. 완료된 스터디 아카이브

bbip-reflat

자세한 기획과 User Research, Brand Identity가 궁금하다면 이곳을 확인해주세요. 🍀


iOS Dev.

프로젝트에서의 저는, iOS Lead를 맡게 되었습니다.

BBIP을 개발하면서는 기억에 남는 점이 많은 것 같습니다. 먼저 UI/UX 측면에서 애니메이션이 꽤나 많았기 때문에 Design 파트와의 커뮤니케이션을 보다 세심하게 진행하는 것이 중요했습니다.

애니메이션은 말로 설명하는 데에는 한계가 존재하기 때문에, 이를 해결하기 위해 TestingTestFlight를 통한 내부 배포에 많은 노력을 기울였던 것 같습니다.

Example) 출결 인증 UI Animation TestApp

timering_test

중요한 변경사항이 발생할 때마다 별도의 TestApp으로 기능을 분리하거나, MainApp에 기능을 추가한 상태로 TestFlight를 통해 배포했습니다. 각 배포된 버전마다 Discord 쓰레드에 새로운 채널을 생성하여 수정사항을 공유하고 피드백을 받는 방식으로 진행했습니다. 이를 통해 실시간으로 개선 사항을 반영하며 앱의 완성도를 높일 수 있었습니다.

TestFlight 배포 현황 (Internal Testing)

testflighting

총 37개의 버전의 TestFlight를 배포하며 팀 내부에서 실시간으로 피드백을 주고 받으며 QA를 진행했습니다.


Clean-Architecture + MVVM

다음으로 기억에 남는 부분은 기술적인 부분으로, Clean Architecture를 적용해본 점입니다. 잦은 테스트가 필요한 환경에 맞춰 Clean Architecture를 도입한 덕분에 코드의 유지보수성과 확장성을 크게 향상시킬 수 있었습니다.

Clean Architecture의 가장 큰 장점은 코드의 의존성을 명확하게 분리함으로써 모듈 간 결합도를 낮추고, 각 계층의 역할을 명확하게 정의하는 것입니다. 이를 통해 비즈니스 로직, UI, 데이터 레이어가 서로 독립적으로 동작하도록 설계할 수 있습니다. 이 구조 덕분에 UI와 상관없이 핵심 비즈니스 로직을 쉽게 테스트할 수 있었고, 새로운 기능을 추가하거나 기존 기능을 수정할 때에도 특정 계층에만 집중할 수 있어 작업의 효율성이 증가했습니다.

실제 프로젝트에 적용한 구조는 다음과 같습니다.

clean-architecture

folder_structure


최종 발표

그렇게 약 4개월 넘는 기간동안 열심히 프로젝트에 몰두했고, 기다리던 최종발표를 진행했습니다. 🥳
최종발표는 부스형태로 각 단과대학 교수님들이 부스를 방문해 서비스 시연을 체험하고, 완성도와 독창성 등 여러 기준에 맞게 평가를 해주시는 형태로 진행되었습니다.

IMG_1833

굿즈 & 리플렛 🥸

IMG_1833

시연 준비 중! 😳

IMG_1835


기업특별상 🏆

IMG_1885

모두 각자의 역할을 맡아 최선을 다해준 덕분에, 기업특별상이라는 뜻깊은 상을 수상할 수 있었습니다. 👏

프로젝트를 진행하는 내내 팀원들 모두가 맡은 바 역할에 책임감을 갖고 열심히 임해주었고, 많은 사람들에게 긍정적인 평가를 받을 수 있었습니다.

비록 결과적으로는 아쉬움이 남는 부분도 있었지만, 그 과정에서 얻은 저희 팀원들과의 만남과 경험은 분명히 값졌고, 무엇보다 프로젝트의 완성도만큼은 정말 자부심을 가질 수 있을 정도로 뛰어났다고 생각합니다. 교수님들과 관계자분들께서도 높은 평가를 해주셨고, 여러 사람들로부터 격려와 칭찬을 들으니 그동안의 노력이 헛되지 않았다는 생각에 뿌듯했습니다. 😎


마무리하며

저희 팀원들은 여기서 멈추지 않고, 지금까지 쌓아온 노력을 바탕으로 BBIP을 완성하여 실제로 출시하는 것이 최종 목표입니다. 출시 후에는 실제 교내에서 진행되는 그룹스터디에 도입해보며 사용자의 피드백을 받아보려 합니다.

이번 경험이 밑거름이 되어 더 나은 결과를 이루어내길 기대하며, 앞으로의 여정도 힘차게 이어가겠습니다~! 🎈

궁금한 점은 편하게 댓글 남겨주시면 답변드리겠습니다!

글 읽어주셔서 감사합니다. ㅎㅎ

prize

Refer.

This post is licensed under CC BY 4.0 by the author.