프로젝트

캡스톤 프로젝트 onAir 후기

꽁이꽁설꽁돌 2025. 6. 1. 02:28
728x90
반응형

2025년 3학년 2학기 재학중인 나는 캡스톤을 진행하게 된다.

3학년에 진행하면서 걱정이 없었냐고 하면? 없었을 리가... 최선을 다하자는 마음으로 일단 임했다.

 

팀원은 생각보다 인복?이 좋았던 나는 순조롭게 구하게 된다.

 

 

 

처음에는 실내 공기질 프로젝트로 방향성을 잡고 간 우리는 교수님께 다음과 같은 내용의 개요로 제안을 드렸다.

 

 

대략적인 내용

현대 사회에서 실내 공기질은 건강, 안전, 생산성 등 다양한 측면에 지대한 영향을 미칩니다. 병원, 유치원, 학교, 오피스 빌딩 등 다수의 건물을 관리하는 어드민 고객들에게 있어, 효율적이고 체계적인 공기질 관리는 비용 절감과 안전사고 예방, 브랜드 이미지 향상으로 직결됩니다. 본 시스템은 대규모 관리 서비스에 최적화되어 있으며, AI 기반 자연어 질의, 실시간 데이터 시각화, IoT 연동 자동 제어 기술을 통해 관리자들이 복잡한 환경에서도 손쉽게 각 건물의 공기질 상태를 모니터링하고 즉각적인 대응을 할 수 있도록 지원합니다.

 

 

하지만 우리는 방향성이 교수님과 원하는 것과 맞지 않았고 주제를 바꾸게 된다.

 

 

가슴이 웅장해지는 팀원들의 모습

 

대략적인 내용

본 프로젝트는 환경 연구자와 공학자를 위한 웹 기반의 통합적 대기질 데이터 분석, 예측 및 시각화 플랫폼입니다.

연구자들이 프로그래밍 기술 습득이나 복잡한 데이터 처리 및 시각화 작업에 대한 부담 없이, 직관적이고 사용자 친화적인 인터페이스를 통해 손쉽게 데이터를 분석하고 탐색할 수 있는 환경을 제공합니다.

특히, 다양한 형태의 파일 업로드를 지원하여 사용자가 보유한 데이터를 쉽고 빠르게 플랫폼에 업로드하고, 이를 기반으로 유연한 통계 분석 및 다양한 시각화 도구를 제공하여 맞춤형 분석 결과를 얻을 수 있도록 합니다.

이를 통해 효율적인 연구 진행과 데이터 접근성을 극대화하며, 연구자들의 분석 역량과 연구 품질 향상을 효과적으로 지원합니다.

 

 

이와 같이 우리는 프로젝트의 방향성을 성공적으로 수정했고

프로젝트 개발을 진행 하게 된다.

 

그 과정에서 처음에는 우리의 기능이 너무 부실하다는 것을 느꼈고 점차 기능들을 늘려가기 시작했다.

그래서 추가되어 최종 확정된 기능들은 다음과 같다.

 

 

맵 관련 기능

  • 관측소 위치와 시간별 데이터 제공 (히트맵, 그래프)
  • 관측소별 위치 제공
  • 3d 기반 맵 제공

 

챗봇 관련 기능

  • 챗을 통한 text2sql 기반 DB 쿼리 제공
  • 챗을 통한 다양한 function call 제공
  • 챗을 통한 질의 제공

 

 

업로드 관련 기능

  • Labeled multi-line chart: 여러 관측소나 데이터 항목(PM2.5, PM10, NO₂ 등)을 비교하여 패턴 분석 가능
  • Binned box plot: 데이터를 특정 범위(시간, 위치 등)로 나누어 분포를 비교 가능
  • CBPF: 데이터 전처리 : 최대 풍속을 기준으로 풍속을 정규화하고, 풍향을 극좌 표에서 직교좌표로 전처리
  • Heatmap: 피어슨 상관계수를 이용하여 데이터간의 상관관계를 수학적으로 전처리해 시각화

 

그렇게 우리는 몇일을 불태워 빠르게 기능들을 완성하기 시작한다..

 

내가 맡은 부분은 프론트엔드로 맵관련 모든 기능, 챗봇 기능, 로그인, 메인화면을 맡았다.

다른 부분은 내가 하지 않아서 내가 한 부분만 대략적으로 보여주면 다음과 같다.

 

빠르게 완성한 메인화면

ai와 함께 만든 랜딩 페이지인데 마음에 든다.

ai 쵝오!

 

기능 구현하면서 가장 뿌듯했던 클러스터링 알고리즘

 

가장 처음 api를 연동한 부분으로 다 만들고 나니 정말 뿌듯했다.

지금봐도 잘한 듯 ㅎ..

 

관측소별 세부 데이터 조회

 

차차 하나 둘씩 api를 연결하니 서비스 같아지는 모습

 

지역에 따른 농도 히트맵

 

히트맵부터는 별 감흥이 없다.. 힘들어

 

가장 마지막에 추가된 나의 마지막 잎새 3d 맵..

 

마지막까지 넣을까 말까 하다가 겨우 완성해서 추가한 기능이다.. (갠적으로 안넣었으면 서운할 뻔)

 

챗봇을 통한 db조회

 

그렇게 얼추 기능이 끝난 우리는 창의경진대회를 위한 포스터를 만들게 된다.

포스터를 만드는 동안에도 나는 개발을 다 끝내지 못해 계속 개발을 하고 있어서 팀원이 다 만들어 준모습.. (감사합니다 꾸벅)

 

영채형 수고했어요 (원맨 캐리)

 

그리고 최종 ppt 까지 만들었다.

아래는 대략적인 모습들..

우리팀의 시스템 아키텍쳐

 

아까 보여주지 못한 업로드 기능

 

 

그렇게 ppt에 이어서 완성된 시연 영상

기능 다시보니까 진짜 많네 2주만에 어떻게 만들었지?

 

 

그렇게 우리는 제출하게 되었고 캡스톤 결과를 기다리며 사진을 찍었다.

 

캡스톤 대상 후보의 자랑스러운 팀원들

 

그렇게 몇 시간 뒤에 결과가 나오게 되는데..

 

onAir 대상!!!!!!!!!!!!!!!!!!!!!!

 

 

캡스톤 대상이었다!!

다들 정말 수고 많았고 함께 열심히 해주어서 정말 고맙다.

 

++ 추가 후기 사진

수상 인터뷰

 

나름 mz 느낌 낼려고... 컨셉 ㅋㅋ

 

 

경진 대회 우승까지 화이팅!

 

 

깃허브 링크

https://github.com/GoToSwiss/frontend

 

GitHub - GoToSwiss/frontend: 🍀 환경 연구자들을 위한 대기질 데이터 분석/예측/시각화 플랫폼

🍀 환경 연구자들을 위한 대기질 데이터 분석/예측/시각화 플랫폼. Contribute to GoToSwiss/frontend development by creating an account on GitHub.

github.com

 

반응형