Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

공hannah부

[제 1회] EWHA-THON 회고록 본문

프로젝트/이화톤 배울림꽃

[제 1회] EWHA-THON 회고록

Hannah0226 2024. 3. 19. 00:45

해커톤 소개

해커톤 주제

교내 문제를 해결할 수 있는 IT 기술

 

해커톤 취지

이화여자대학교 내 서로 다른 IT 도메인 개발자 사이의 네트워킹 및 프로토타입 개발을 통한 자기개발

 

해커톤 일정

2024.03.15 ~ 2024.03.18 (약 4일간)

 

우리 팀 소개

팀명

💚멜팅팟💚

 

팀원 구성

기획: 민지희
디자인: 장예림
백엔드: 이한나, 정소은
프론트엔드: 정은채
인공지능: 박세은

 

팀 레포지토리
 

[Ewha-thon] Melting Pot

[Ewha-thon] Melting Pot has 4 repositories available. Follow their code on GitHub.

github.com


우리팀 아이디어

서비스명

🌸배울림꽃🌸

 

서비스 소개

‘배’는 소리가 한곳에서 시작되어 주변으로 퍼지는 의미를, ‘울림’은 소리가 울려 퍼지는 모습을, ‘꽃’은 아름다움과 섬세함으로 이화의 배꽃을 의미한다. ‘배울림꽃’은 이화여대 학생들의 작은 목소리가 모여 하나의 큰 울림으로 퍼져 나아가 이화의 성장과 발전을 돕는 ‘이화여자대학교 청원 플랫폼’이다.

 

문제 상황

  • 교내 개선 서비스이지만 가장 높은 개선의 필요성으로 대두된 ‘이화에 바라다’

교내 커뮤니티 중 하나인 에*리타임에서 가장 많은 글을 차지한 주제는 총 7,140개로 ‘개선 및 요구’에 관련된 글이다(Ai 데이터 분석기반). 실제로 학교는 “이화에 바란다”라는 이름으로 정책 건의 소통창구를 운영하고 있지만 개선 요구의 전체 글(7,140) 중 이화에 바란다 문제점을 지적한 글은 총 1,288개로, 오히려 소통 창구로 활용되는 서비스 자체의 실효성에 대한 문제점이 끊임없이 대두되고 있다.

실제 2016.09.04 “이화인의 소통창구 점검…학생 ‘이화에 바란다’에 한계 있어”라는 이화학보 기사와 2021.09.20 "이화에 바란다 실효성논란” 이화방송국 등 교내에서 여러차례 다룰 만큼 문제가 존재한다는 것을 알 수 있다.

또한 이화에 바란다에 올라온 글들을 직접 확인한 결과, 하나의 주제로 평균 20개가 넘은 글이 올라오는 등 양치기 글 방식으로 해당 서비스의 효용성 문제로 인한 추가 문제 발생을 확인했다.

  • 사용하는 학생 뿐만 아니라 운영진도 불편한 서비스 운영방식

민원 분류의 어려움, 문제점에 대한 카테고리 재분류의 불편함, 답변응답의 미지수 등 이화에 바란다 사용과정에서의 문제점들도 다수 보였고, 건의하고자 하는 학생과 해당 서비스를 확인하는 운영진들 또한 겪는 불편함들을 확인했다.

 

솔루션 및 차별성

  • 현재 발생하고 있는 문제를 근거로 기획한 ‘Ai기술’의 활용

Ai 기술을 실제 ‘이화에 바란다’ 과정 내 학생들과 운영진들이 겪는 문제에 대한 해결방식으로 활용하여, 같은 문제점으로 인한 불편함을 재발생을 방지

  • 많은 정보에 대한 직관성을 중심으로

청원의 무수한 내용과 과정속에서 사용자로 하여금 해당 청원의 과정을 한눈에 확인하고 직관적으로 알 수 있도록 레이아웃 및 표기 방식에 집중

중요도가 높은 부분에 이화전통 컬러를 포인트로 사용하여 필요 정보를 먼저 확인 할 수 있도록 하고 최대한 적은 컬러칩 사용으로 디자인의 화려함 보다는 정보전달에 집중

청원의 무수한 내용과 과정속에서 사용자로 하여금 해당 청원의 과정을 한눈에 확인하고 직관적으로 알 수 있도록 레이아웃 및 표기 방식에 집중

중요도가 높은 부분에 이화전통 컬러를 포인트로 사용하여 필요 정보를 먼저 확인 할 수 있도록 하고 최대한 적은 컬러칩 사용으로 디자인의 화려함 보다는 정보전달에 집중

  • 실제 운영되는 순서를 고려한 화면 설계

청원 처리 과정을 토대로 화면 순서 설계 및 카테고리 분류를 하였고 과정속에서 손쉽게 Ai가 주는 서비스에 도달하여 사용할 수 있게 구성

사용자의 시선흐름과 사용성을 고려한 버튼 배치를 통해 불필요한 이동 및 화면 혼선을 없도록 구성

  • 학생과 관리자의 영역 구분

학생과 관리자의 서비스 사용 영역을 고려하여 개발적으로 접근권한 및 서비스를 분리

플랫폼을 별도로 각각 디자인하여 사용 혼선이 생기지 않도록 구성


백엔드 기획

ERD

 

API 명세서


백엔드 개발

내가 맡은 부분
- 프로젝트 세팅 및 엔티티 생성
- 회원가입, 로그인
- 게시물 투표
- 배포 및 CICD

 

프로젝트 세팅 및 엔티티 생성

회원가입, 로그인

이번 프로젝트에서는 학생 개개인의 정보 보호와 학생과 관리자의 권한 설정이 중요했기에 Spring Security + JWT를 사용해 개발하였다.

 

1. 학생과 관리자의 권한을 나누기 위한 Spring Security

    → 일반 사용자: 회원가입, 로그인만 요청 가능

    → 학생 인증을 받은 사용자: 관리자관련 기능을 제외한 모든 요청 가능

    → 관리자: 모든요청 가능

 

2. 보안성을 높이기 위한 JWT 토큰 형식의 로그인 + BCryptPasswordEncoder 비밀번호 암호화

  • 로그인 토큰 발급 예시

  • 비밀번호 암호화

  • Member DB: 비밀번호 암호화 예시

 

 

게시물 투표

  • 게시물 투표 [POST] /article/{postId}/vote

  • 게시물 투표 취소 [DELETE] /article/{postId}/vote

 

배포 및 CICD

  • 배포 아키텍처 구조도


험난했던 개발 과정,,

JWT 빌드
빌드시 JWT 빌드가 안되는 문제
→ gradle 버전이 7부터 compile runtime이 바뀌어서 문제가 생기는 것으로 추정
→ jwt 버전을 0.12.5로 바꾸거나 gradle 버전을 7 아래로 낮출 예정
배포
PuTTY로 세션을 실행했을 때 private key를 사용하라는 error
→ 이미 Putty Generator에서 private key로 변환해 다운받았는데 계속 private key로 열라고 하면서 아예 열리지 않았다. 
→ 찾아보니 PuTTY 버전이 낮으면 이런 오류가 생긴다고 한다
→ 가장 위 버전으로 다시 다운받아 해결!

로컬에서는 정상적으로 빌드 및 실행이 되는데 배포한 건 실행이 안되는 문제
→ github actions 실행도 완료되고 code deploy 배포도 성공이 됐는데 포스트맨 테스트가 안됐다,,
→ ec2, 탄력적ip 다 삭제하고 처음부터 배포해서 해결

느낀점

해커톤 경험이 없었어서 출전전 고민과 걱정이 많았는데 좋은 팀원들을 만나 잘 마무리 된 것 같다 >o<

우리 팀은 예선 심사가 학생들로 이루어진 운영진들의 평가로만 이루어진다는 점과 해커톤의 목표가 '교내 서로 다른 IT 도메인 개발 사이의 네트워킹'임을 참고하여 기획과 인공지능에 가장 많은 힘을 쏟았다. 처음 기획했던 공구 도움 서비스가 참신성이 떨어질 것 같다는 판단과 인공지능의 비중이 적다는 판단에 아예 주제를 갈아엎고 처음부터 기획을 다시 시작했는데, 결과적으로는 주제를 바꾸길 잘 한것 같다! 주제가 한번 엎어져 시간이 부족했음에도 모두 끝까지 열심히 달려준 팀원들에게 너무 고맙고 뿌듯하다! 

개발하는 과정도 쉽지만은 않았다. 이유모를 에러와 문제들로 인해 밤을 새가며 개발했다. 그때 당시엔 구현해야할 건 많고 오류로 인해 진행은 안돼 시간을 허비한다고 생각했는데, 지금 생각해보면 그 시간들이 모두 성장하는 과정이었고 이로 인해 많은 것을 배웠다고 느낀다. 기획에 많은 힘을 쏟았다보니 구현해야할 기능들이 너무 많아 모든 것을 완벽히 마치진 못했지만 우리 서비스의 핵심 기능까지는 개발을 완성했기에 후회는 없다! 해커톤이 완전히 종료되면 구현을 못했던 부분과 아쉬웠던 부분을 추가 개선할 예정이다. 꼭 다 마무리해서 대미를 장식하고 싶다..!

이제 교수님들의 평가가 이뤄지는 본선 최종 등수 발표만을 앞두고 있다. 물론 좋은 성적을 받고싶은 마음도 있지만 이번 해커톤을 통해 얻은 것들이 더 값지기 때문에 어떤 결과든 만족할 것 같다!

 

다시 한번 우리 멜팅팟팀 너무너무 수고많았어!! 이제 우리 푹 쉬자~~!