12월 29-30 동안 진행한 멋사 주최의 해커톤의 후기입니다
나의 첫 협업 프로젝트
팀 빌딩
나를 포함한 총 4명의 개발자로 팀이 이루어졌다...! (백엔드 2명, 프론트엔드 2명)
첫 해커톤인 만큼 팀원에게 민폐되지 않도록 공부를 많이 해갔다.
트랙 및 아이디어 결정
주제가 해커톤 시작과 동시에 발표가 되었기 때문에 미리 기획이나 아이디어를 생각할수가 없었다. 모두 관광과 관련된 주제가 나올것이라고 예상했지만.....주제는 "헬스케어" 여기서 헬스는 굉장히 포괄적인 의미였는데 정신건강뿐만 아니라 노인복지 까지 아울렀다. 그래서 우린 머리를 싸매서 각자 아이디어를 카톡방에 올리고 익명 투표를 했다. 결과는 유저의 건강지수 채점 사이트가 되었다.
기획/디자인
구체적으로 아이디어 낸 분의 이야기를 듣고 기획을 하다보니 mbti 검사처럼 건강 검사를 하고 공공데이터포털에서 건강질문에 관한 통계 데이터를 가져와 상위 몇퍼센트인지 결과만 보여주는 형식이라 DB랑 CRUD를 사용하지 않아도 됐다. 그래서 로그인을 구현해서 유저의 정보를 DB에 담아서 개인의 건강지수 변화 그래프를 그리기로 하였다!
개발
(1차 코드)
처음 계획은 백엔드끼리 DB를 공유하기 위해서 AWS rds를 이용하기로 하였다. 내가 이 파트는 맡아서 하게 되었다. 그런데 생각보다 DB를 생성하고 컴퓨터끼리 연결하는데에 있어서 보안때문에 헷갈리는 부분이 많았다. 구글링으로 다행히 해결하였다. 그렇게 로그인을 구현하려고 하는데 생각보다 시간 압박이 심하였다. 그래서 멘토분께 여쭤보았는데 로그인을 구현하지 말라고 하셔서 과감하게 포기했다.
(2차 코드)
그래서 로그인을 접고 공공데이터포털에서 데이터를 csv 파일로 받아와서 내 컴퓨터에 저장해놓고 필요한 데이터를 파싱해서 프론트에게 json 형태로 보내주었다. 하지만 이렇게 csv 파일에서 값을 받아오게 되면 내 컴퓨터(로컬)에서만 코드가 작동 하였다. 그래서 Open Api로 데이터를 받아오는 방식으로 코드를 바꾸어야했다.
(3차 코드)
공공데이터포털에서 Open Api로 데이터를 받아오려면 인증키가 필요했는데 디코딩 인증키를 value에 넣고 인증키 설정을 하니 오픈 Api 호출을 할수 있었다. 오픈 Api는 호출할 때마다 바뀌었고 이는 역시 구글링으로 찾았다. 그리고 이를 적용하는 코드가 조금 어려웠는데 우선 프론트와 통신할때 사용할 DTO를 만들고 service 로직에서 json 형식의 api 데이터를 string으로 바꿔서 DTO에 맞도록 파싱하고 프론트가 요청하는 값을 string에서 찾아서 넘겨주었다.
느낀점
이번 해커톤을 하면서 느낀점은 정말 구글링이 정말 중요하다는것이었다. 내가 짠 코드의 대부분은 구글링을 통해 만들어졌고 멘토님 이야기를 들어보니 실제 현업에서도 구글링은 굉장히 중요한 역량이라고 하셨다. 처음이어서 코드를 3번이나 갈아 엎고 다사다난 했지만 배운게 많은 해커톤이었다. (AWS RDS 연결법, Open API 적용, csv 파일 읽어들이기, 프론트와 첫 협업등) 그리고 오픈 Api를 처음 사용해 봐서 집가서 찾아봤는데 꽤 재미있는 기능이 많았다. 조만간 Api를 이용해서 만들어봐야겠다.
'백앤드' 카테고리의 다른 글
Entity 클래스에선 왜 Public, Private 의 @NoArgsConstructor가 필요 할까? (0) | 2024.04.10 |
---|---|
유효성 검사는 DTO에서 하는게 좋을까 Entity에서 하는게 좋을까? (feat. @NotBlank, @Size) (0) | 2023.05.24 |
@EntityListeners(AuditingEntityListener.class), @EnableJpaAuditing에 대해서 알아보자 (0) | 2023.05.21 |
[SQL] 관계형 DB 문법 정리 (0) | 2022.11.16 |