관리 메뉴

기술은 감각이다, 밀론 블로그

2025-07-12 통합 완료 본문

프로그래밍/버스 혼잡도 파악 앱 개발 프로젝트

2025-07-12 통합 완료

milron 2025. 7. 13. 17:58
주차 주요 작업 진행도 부록
1-2주 데이터 수집, 예측 모델 설계 데이터 수집 완료
3-4주 MCP 서버 구현 + 테스트 MCP 서버 구현 완료
5-6주 Flutter 앱 UI 개발 + 연동 홈 화면, 기타 UI 코드 작성 완료
7주 기능 통합 + QA QA는 아직.
8주 베타 출시 + 사용자 피드백 수집 X  

중간 보고


현재 앱과 LLM 서버, MCP 서버 연동을 완료하였다.
즉 통합이 완료된 것이다.

 

이제 버스 내부 혼잡도 알고리즘 구현만 남았다.

문제점


지금은 없다.

💬 오늘의 느낀 점


먼 여정이었다.

 

첫 개발 이래 첫 성공이다.


배울게 참 많았고 시행착오도 참 많이 겪었다.
앞으로도 많을 것이다. 하지만 지금까지 늘 그랬듯이 극복할 것이다.

 

아니 근데 솔직히 이 간단한 기초 로직을 어떻게 3개월이나 걸려서 만든거지?


배울게 많긴 했어도 이건 너무 늦지 않았나 싶다... 그래서...

 

뭘 했길래 이 오래 걸렸나?


이 모든 것을 구축하려면 어떤 걸 배워야 하는 지 한번 다시 체크해보자.

  1. MCP server란?
  2. Flutter 앱 제작 방법은?
  3. LLM api 사용법은?
  4. LLM 이란?
  5. pytohn으로 MCP server 구축 방법은?
  6. 앱과 MCP server를 통합 하는 방법은?

많은 것 같기도 하고 아닌 것 같기도 하다.

하지만 내겐 많았다.

 

코딩 실력을 좀 올려야겠다.

 

난 갈아엎기 전문가


또 하나 빡치는 건, 프로젝트 폴더 만들고 로직 구성하다 갈아 엎었 던 적이 한 두번이 아니라는 것이다.

mcp_llm_server 깃 허브를 참고하다 스트레스 받았던 게 한두 번이 아니었다.
하나하나 이 깃허브를 찔러보고 맛보고 하다 보니 챗 지피티가 짜준 코드만 조금씩 분석하던 능력이 높아졌다.

해당 깃허브 로직이 대강 눈에 보였고 활용이 가능해졌었다.
하지만 끝까지 HTTP/SSE 통합이 안돼서 버렸지만 말이다.

그래서 내가 챗지피티 기반으로 다시 로직을 구성한 결과, 성공했다.

필자의 C:/github 내부 폴더들

위 사진 폴더를 거의 대부분이 통합을 위해 만들어졌었던 프로젝트들이다.

앱 테스트 실행 화면


사진을 보면 /station 강남구청역 이라고 사용자가 채팅을 보냈다.
이는 MCP server의 tool을 사용하라는 명령 호출이고 이 명령에 따라 LLM은 MCP server의 tool을 불러와 사용자에게 표시한 것이다.

 

이 통합 로직의 구성 요약은 다음 설계 문서와 같다.

더보기

버스 앱 설계 문서

# **1.** **전체적인 로직 작동 순서**

(1) 사용자(Flutter 앱) : 사용자가 인터페이스 채팅 UI에서 LLM에게 질문.
↓ HTTP 요청 : MCP server에 HTTP 요청.
(3) MCP Server : MCP tool 사용.
↓ 내부 호출
(4) LLM Server : LLM server tool을 사용하여 LLM 사용
↓ 응답
(5) MCP Server : server 에게 전달
↓ HTTP 응답 : 반환 HTTP를 MCP server에 전달 후 다시 LLM에게 전달.
(7) 사용자(Flutter 앱) : LLM이 사용자에게 정보 전달.

 

📌예정 계획


  • 버스 내부 혼잡도 알고리즘 구현을 어떻게 할 것인가?
  • 코딩 공부 좀 해야겠다.

이 글은 개인 프로젝트 개발 과정을 기록하는 공간입니다.
실패와 깨달음, 시도와 개선을 솔직히 담습니다.
다음 일지도 기대해 주세요! 🚀

결연한