신촌톤 회고

채린·2023년 8월 28일

🗓 일정

2023.08.25(금)~2023.08.26(토) 해커톤 진행
19:00 주제 공개
~24:00 1차 스프린트
~05:30 2차 스프린트
~08:00 개발 마무리, 제출 완료
08:00~10:00 발표 및 심사

👥 팀원

기획디자인 1명, 프론트엔드 2명, 백엔드 4명

🦄 서비스 소개

대학생 & 문화생활: UNICON은 대학교 동아리들의 공연, 전시, 행사를 간편하게 모아볼 수 있는 플렛폼입니다
우연히 홍보물을 발견하거나 지인인 경우가 아니라면, 동아리들의 공연 정보에 대한 접근성이 떨어진다는 점에 집중했습니다. 에브리타임, 캠퍼스픽 등의 커뮤니티에 홍보글이 올라오지만 다른 공연 게시글 또는 모집 게시글에 묻혀 찾아 보기 어렵습니다. 유니콘은 여기저기 흩어져 있어 보고싶어도 찾기 어려운 동아리들의 공연 정보를 편리하게 제공합니다. 동아리들이 오랜 기간 연습하고 준비한 행사들을 통해 문화생활을 즐겨보세요!

주제 도출 과정

주제는 대학생+문화생활(추첨)이었다.
영화, 음악, 유투브, 행사, 게임, 악기 연주 등 문화생활의 분야들을 생각해보던 중 공연, 행사 등의 일정을 쉽게 볼 수 있으면 좋겠다는 이야기가 나왔고, 주제인 대학생과 결합해 대학생 동아리 공연 일정 안내 플렛폼 아이디어로 결정하였다.

📱 화면 구성

⚙️ 기능 및 구현

  • 메인페이지
    추천 행사 6개를 띄워준다
    추후 광고 서비스로 수익 창출 가능성

  • 행사 조회
    학교별, 카테고리별로 원하는 행사들을 필터링 할 수 있다
    조회를 원하는 기간을 선택할 수 있다

  • 행사 상세 조회
    행사의 상세 정보를 확인 가능하다
    작성자인 경우, 수정/삭제 버튼이 보이며 수정/삭제 가능하다

  • 행사 검색
    행사의 이름 또는 동아리명으로 행사 검색이 가능하다
    행사 일시가 오늘과 가까운 순서대로 정렬되어 보인다

  • 소셜 로그인
    카카오 소셜 로그인으로 누구나 간편하게 접근 가능하다

  • 행사 등록 / 수정 / 삭제
    행사에 대한 정보를 담은 게시글을 작성 가능하다.
    시간관계상 최종 작업물엔 들어가지 못했다.

🙆🏻‍♀️ 나의 역할

  • 초기 프로젝트 세팅
    프로젝트 생성, 모든 앱 생성, requirements.txt, .gitignore파일 작성을 한 뒤, 각 앱들의 url을 연결하고 지난번 프로젝트를 참고하여 cors설정과 JWT토큰 설정을 하였다.
  • 홈화면 api
    홈화면에는 랜덤으로 6개의 행사를 띄웠다.
  • 카테고리,학교별 행사 조회 api
    카테고리와 학교를 전달받아 해당하는 행사를 필터링해주는 기능을 구현하였다.
  • 행사 검색 api 수정
    오류가 나던 코드를 수정해 잘 돌아가게 수정했다.

💡 새로 알게된 점

  • get할 때 필터링 조건 등 정보가 필요할 때 많으면 그냥 request body로 만들었는데, get할때는 보안상(?) request바디는 잘 안쓴다고 한다. 보통 쿼리 파라미터를 사용한다는 것을 알게 되었다. request body로 했더니 데이터가 프론트에 안넘어가서 쿼리파라미터로 처리하니 해결되었다.
  • 토큰, 권한 관련해서 [IsOwnerOrReadOnly]와 [AllowAny]등을 사용하는 것을 처음 보았다. IsOwnerOrReadOnly는 본인이 쓴게 아닌 경우엔 read만 가능하게 하는것이고 AllowAny는 토큰에 관계없이 누구나 조회를 허용하는 것이다. 그런데 아예 로그인하지 않은 경우에도 조회가능하게 하려면 어떻게 하는지 공부해야한다. AllowAny를 사용했을 때, 로그인을 하지 않아 토큰이 아예 없는 경우엔 null로 넘어와 오류가 나서 이번엔 그냥 헤더 자체를 없앴다..(이러면 로그인 한 경우도 적용이 안된다)

💨 아쉬운 점

  • 중앙해커톤과 마찬가지로 ImageField의 데이터를 넘겨줄 때 base url이 어떤 경우엔 붙고 어떤 경우엔 안붙는 일이 발생했다. 확실히 백엔드쪽 문제인것 같은데, 다른 설정은 내가 한게 없으니 어떤 문제인지 잘 모르겠다.. 아무튼 이 문제에 해결이 꼭 필요하다.
  • 소셜 로그인 완성하는 것을 보고싶었는데, 완벽히 구현하지 못했다. 나도 따로 해보아야겠다고 생각했다. 생각보다 까다롭고 어려운 작업인 것 같다..

❗️ 느낀점

짧은 시간 내로 개발을 하는 해커톤이다 보니 프론트엔드의 시간이 부족했다. 프론트엔드의 구현 가능성을 고려하다보니 상대적으로 백엔드의 역할은 적었던것 같다(4명이라 더 그랬다). 그래도 다른 학교 개발자들과 만나 소셜 로그인의 개념도 같이 이해하고, AWS를 이용한 배포 과정을 설명들을 수 있어 좋았다. 다음에 또 기회가 된다면 내가 배포를 해내보고 싶다. 소셜 로그인과 배포는 따로 연습해보아야겠다.

0개의 댓글