🦁애니타임 바로가기💻 (2024-07-29 ~ 08-09) (아마 처음 들어갈 때 오래걸리니 아래 영상으로 확인하시면 빨라요 하하)
팀 GitHub 바로가기 (여기가 더 정리 잘돼있음)
주제 선정 이유
우리팀의 주제는 대학생 커뮤니티 앱 에브리타임 클론코딩이었다.
이 주제를 선정한 이유는 백엔드를 처음 입문한 우리 팀원들에게 (한분 제외)
백엔드의 기초라고 할 수 있는 기능들을 구현함에 있어 최적화 되었다고 생각하기 때문이었다.
주요 기능으로는 아래의 것들이 있다
- ID/PW 기반 인증
- 프로필 조회
- 사용자가 게시한 게시글 및 댓글 조회
- 계정 비밀 번호 변경
개발 기간도 일주일로 짧고 특별한 기능을 넣으라고도 하지 않으셔서 수업 때 알려주신 게시판의 형태와 기능을 그대로 사용하기로 결정했다. 거기에 디테일이나 추가기능을 구현하는 방향으로 갈피를 잡고 개발을 시작했다.
기술 스택
스프링 부트를 사용하여 웹 서버를 만들고 DB는 따로 연결하지 않았다
데이지 UI와 테일윈드를 사용하여 간단하게 프론트 부분을 구현했다
github를 처음으로 제대로 사용해본 것 같다 clone해서 프로젝트 시작하기, merge해보기, issue 발행하기, 닫기, 브랜치 파서 작업하기, main으로 pr날리기 다양한 git flow를 경험해보았다
docker와 fly.io를 사용해서 배포까지 도전해보았다.
기억에 남는 내용
fly.io를 사용하면서 무중단 배포에 대해서 알아보았는데 (블루그린 배포)
정확한 방법은 기억이 안나지만 블루그린배포를 사용한 듯 하다 왜냐하면 두개의 포트를 열어두고 작업과 테스트는 8081 포트에서 진행하고 실제 배포는 8080 포트로 하고있다가 테스트가 끝나고 merge가 끝난 후 최종 테스트 버전을 배포하기 위해서는 admin이 8081을 사용하다가 나머지 실제 user들도 8081을 바라보게하는 방식을 사용했다.
실제 사용자 입장에서는 사이트가 다운되지 않는 경험을 하는 것이다.
블루는 8080 그린은 8081이라고 생각하면 편할 듯 하다.
이 방법을 선택한 이유는 배포를 진행했더라도 구 인스턴스가 남아있어서 다시 롤백이 용이하기 때문이고 실제 운영환경에 영향을 주지 않으면서 새 버전 테스트가 가능했고 구 버전의 환경을 다음 배포에 재사용하기가 용이했기 때문이다.
물론 단점도 존재했다 시스템 자원이 두배로 필요로 한것이다 하지만 우리의 서비스는 실제 서비스가 아니거니와 배포 후에도 버전 테스트를 여러번 진행해야했기 때문에 이 방법을 기용했다.
그리고 깃허브와 연결하여 깃허브 main 브랜치에 commit하면 다시 배포가 되도록 설정해 두었다. (fly.io설정)
마무리
이번 부트캠프를 통해 새로운 사람들도 많이 알았고 여러번 마주친 분과 해커톤도 같이 나가게 되는 좋은 영향을 끼쳤고 무엇보다 배운것과 남은게 정말 많다 간단히 나열해보자면
- 깃허브에 대한 두려움이 사라졌다 (많이 배우고 알았다)
- 스프링 부트와 인텔리제이 그래들 설정에 대해서 두려워하지않게 되었다.
- 일단 시작하면 뭐든 된다는 생각을 하게되었다.
- 기획자의 역할이 조금 재밌어 보인다..? (현재 흥미: 개발 < 기획)
- 백엔드 구조와 배포에 대해서 많이 알게 되었다.
- 프론트엔드의 역할을 충실히(?) 수행했다. (백엔드 개발보다는 html에 api연결하는걸 제일 많이 한듯)
'후기' 카테고리의 다른 글
부산대 정컴 아이디어톤 3등 후기 (4) | 2024.12.26 |
---|---|
제 3회 부산대 메디컬 해커톤 우수상 후기 (5) | 2024.11.18 |
부산대X부경대 지역상생 해커톤 후기 (12) | 2024.08.29 |