인턴 1~2주차

김동연·2025년 8월 25일

인턴(디비안츠)

목록 보기
1/8

인턴(디비안츠)

8월 1일 디비안츠 인턴에 합격 소식을 듣고 8월 4일에 연락을 받아 이틀간 재택으로 간단한 프로젝트를 한 뒤 수요일부터 출근하기로 했다.

1,2일차

디비안츠는 Cursor을 사용하여 바이브 코딩을 하는 회사라고 한다. 따라서 이틀 동안은 사용법에 대해 익숙해지는 시간이였다.

  • Cursor은 VSCode와 동일한 구조여서 쉽게 적응이 가능하였고 자동 코드 완성이나 AI와의 채팅을 통해 쉽게 코드 구현이 가능했다.
  • 간단한 프로젝트를 진행하는데 내가 결정한 것은 단어 퀴즈앱이였다. 지금까지 만들어 본 적 없는 유형이면서 간단하게 만들 수 있을 것이라 생각했다.

단어 퀴즈 앱

  • 영어 단어 학습을 위한 단어장 + 사전 + 퀴즈 앱을 구현.
  • 카테고리별 단어 보기, 무한 스크롤, 커스텀 단어/카테고리, 주관식/객관식 퀴즈, 사전 검색등을 제공.

3일차 ~ 12일차

사실상 첫 출근이다. 조금은 설레고 긴장되는 마음으로 출근을 했다. 대표님을 만나 잠깐의 면담과 함께 회사 설명, 앞으로의 계획에 대해 알려주셨다. 직원이 매우 적은 회사로 대부분의 시간이 혼자이다.

  • 바로 업무를 주시진 않고 2주차까지는 개인 프로젝트를 진행한다고 한다. 나름의 적응기간과 포토폴리오에 사용할 프로젝트의 준비기간이기도 했다.
  • 프로젝트를 시작하기 전 도움이 되는 문서들을 받았다. 바이브 코딩 시 문서화가 제일 중요하다 하셨고 문서를 제대로 작성하지 않으면 나중에 AI의 성능을 효과적으로 발휘하지 못한다고 한다. 이는 따로 정리해서 올려보겠다.
  • 추후 작성

첫 출근 날은 주제를 정하는데에만 시간을 썼다. 약 6일 정도의 시간이 있는데 이 안에 완성을 하고 규모는 적당히 큰 프로젝트를 해야했는데 이런 이유로 감성 일기 앱을 만들기로 했다.

EmotiFlow(감성 일기 앱)

MVP까지는 구현된 앱이다. 현재 public이지만 추후 private로 바뀔 수 있고 출시 가능성도 있다.

어떻게 개발을 진행하였는지 시간순서대로 정리해보겠다.

주제 및 문서 작업

  • 3일차에 주제를 정하고 4일차는 문서화에 집중했다. 이정도로 체계적인 문서화는 처음이여서 많은 시간을 소요했고 충분히 소요할만한 작업이라고 생각한다.

  • docs폴더를 들어가보면 프로젝트를 진행하면서 만든 문서들을 볼 수 있는데 간단히 설명하자면

    • 총 5개의 문서를 세분화 해서 먼저 작성한다. 각각의 상세 설명에 대해서는 기회가 되면 다시 작성해보겠다.
      • 요구사항 정의서 (Requirement Specification)
      • IA 문서 (Information Architecture)
      • 페이지 정의서 (Page Definition)
      • 기능 상세 명세서 (Functional Detail Spec)
      • UI/UX 상세 가이드 (UI/UX Detailed Guide)
    • 이 5가지의 문서를 가지고 AI에게 부탁해 또 다른 문서를 만드는 작업을 한다.
      • 기술적 요약 문서(tech_summary.md)
      • todolist.md 파일(프로젝트 계획)
      • 프로젝트 기획서
    • 이렇게 완성된 문서를 가지고 AI를 공부시키면서 작업을 시작하는 것이다. 이제 본격적인 개발의 시작이다.

일기 기능

  • 사실 개발이라고는 했지만, Cursor가 대부분 다 해준다. 문서에 적힌 우선 순위에 따라서 진행하였고 처음에는 홈 화면의 UI를 만들면서 하나씩 기능을 구현하기로 했다.

    • 일기 앱이므로 가장 기본적인 일기 형식을 만들어야 한다. 나는 자유형 일기라고 칭했고 제목, 내용, 감정 선택, 사진 or 그림을 일기 안에 포함시켰다.

    • 일기를 하나 만들었으면 그것을 저장할 일기 목록 페이지를 만들어야한다. 백엔드로 Firebase를 쓰면서 손쉽게 구현이 가능했다.

    • 그 뒤로 2번째 일기 형식인 AI와의 대화 형식의 일기를 만들었다. AI랑 대화하면서 감정을 공유하고 위로받으면서 대화 내용으로 감정을 포함한 일기가 만들어지는 기능을 만들었다.

    • 이렇게 작성된 일기는 AI가 분석하여 감정을 알려주고 위로 및 조언 등을 해준다.

      • AI는 Gemini API를 사용하여 진행하였다.

AI 분석 기능

  • Gemini를 미리 연동했었고 이제 작성된 일기를 바탕으로 분석하여 감정 분석 페이지를 만들기 시작했다.
    • 감정 통계 그래프를 보여주고 주간/월간 감정을 분석하여 조언을 해준다.
    • 카드를 뽑아 오늘의 AI 조언 카드를 볼 수 있는데 뽑는 재미와 함께 어떤 행동을 추천해줄지 보는 재미가 있을 것 같았다.

로그인 및 프로필 페이지

  • 사실 홈 화면 이후로는 로그인을 가장 먼저 구현했었다.
    • Firebase를 통해 구글 로그인을 구현했고 설정 페이지를 만들면서 로그아웃, 계정 탈퇴 등 기능을 만들었다.
  • 프로필 페이지는 로그인이 있으면 기본적인 기능이라고 생각해서 만들었다.
    • 간단하게 내 계정 정보를 볼 수 있고 추후 커뮤니티 같은 기능이 추가될 수 있어 이름과 프로필 사진 같은 경우 변경이 가능하도록 했다.
    • 나중에 로그인 방식이 더 늘어나면 프로필 페이지에서도 더 할 일이 생길 수도 있을 것 같다.

bgm 기능

  • 커뮤니티 기능을 개발하려했지만, 사용자도 없는데 다른 기능을 우선 개발하기로 했다.

  • 감정 일기 앱 만들려고 할 때부터 생각했던 것인데, 오늘 나의 감정에 따라서 bgm을 틀어주면 어떨까 싶었다.

    • 홈 화면에서 일기를 작성안했을 시 일기 작성을 유도하고 작성 완료했으면 오늘의 감정을 표시해두기로 했다.

    • 다른 기준도 있지만, 오늘의 감정을 토대로 bgm을 틀어주는 기능을 구현했다.

    • 현재는 테스트하자는 의미로 오늘의 감정에 따라서 내가 정해둔 2-3개의 bgm을 틀어준다. bgm이 없는 감정도 있어 아직 개발이 필요한 부분이다.

    • 뮤직 설정 페이지를 만들어 미니플레이어, 음악on/off, 음량 조절 등 여러 설정을 만들었다.

    • 다른 뮤직 API를 연동한다면 더 좋은 기능이 될 것이다.

마무리

  • 시간 상 일단 프로젝트를 마무리하고 곧 다른 업무에 집중해야 한다.

  • 일단 홈 화면에서 빠른 액션으로 일기 작성, 음악 설정, AI 분석 페이지 등 으로 이동 가능하게 만들었다.

  • 최근 일기를 홈 화면에서 볼 수 있게하여 접근성을 높였다.

피드백도 받으면서 이 앱을 출시까지 보고있다. 4명이서 애플스토어에 출시를 한 적은 있지만, 내 힘으로 출시를 해본적은 없기 때문이다. AI 성능이라던지, 음악 관련 기능, 커뮤니티 기능, 다크모드/폰트 조절 등 생각했던 기능들을 다 완성하지는 못했지만, 인턴이 끝나거나 시간이 남을 떄 구현할 예정에 있으며 이 프로젝트에 대해 더 이야기 하는 날이 오면 좋겠다.

다음에는 업무에 관련된 내용을 적어보려한다. 처음으로 업무를 받아 진행하는 만큼 기록하고 정리할 예정이다.

0개의 댓글