Junction Asia Hackathon

기획자, 디자이너와 협업하여 ‘부산 택시 투어 서비스’에서 Backend 개발을 맡아, FastAPI 기반 전체 API를 설계 및 구현했습니다.

🤷🏻 참여 이유와 목적

  • 프로젝트를 진행할 때 항상 팀으로 진행했다. 성공적으로 서비스를 만들고 배포해도 팀원들이 함께해서 만들어낸 결과라고 생각했다. 그러다 문득 '나 혼자서 해도 이정도까지 백엔드 개발을 할 수 있었을까?'라는 생각이 들었다.

  • 내 실력을 테스트 해보고 새로운 곳에서 새로운 사람들과 긴장감 있게 개발을 진행하고 싶었다.

  • 마침 지인이 Junction Asia Hackathon 을 추천해줬다. 이 때 슬로건이 '한계를 뛰어넘는' 뭐 이런 문구가 있었는데, 개발 실력에 대한 성장 욕구는 늘 있었기 때문에 고민하지 않고 바로 지원하게 되었다.

  • 결론 : 새로운 환경에서 새로운 사람들과 개발하며 한계를 뛰어넘고 내 실력을 확인(테스트)해보고 싶었다.

👩🏻‍🏫 Project Presentation

👩🏻‍💻 개발

부산 투어 서비스 백엔드 개발

Stack

  • FastAPI

    • 해커톤이라는 생산성과 속도가 중요한 상황을 고려하여, Python 기반의 프레임워크를 선택했다.

    • Python 기반에도 다양한 후보들이 있었지만, 익숙하고 이름 그대로 정말 빠르게 개발할 수 있는 FastAPI를 선택했다.

  • MySQL

    • 관계형 데이터 저장 및 관리를 위해서는 MySQL를 선택했다.

    • 마찬가지로 현업에서 많이 사용하고, 익숙한 엔진을 사용하였다.

  • Docker

    • 프론트 분들이 로컬에서 빠르게 실행시킬 수 있도록 Back-end server, DB를 컨테이너화 하여 docker-compose.yml 파일로 작성하였다.

    • 배포를 안 한 상황에서 개발 환경을 동일하게 실행하려는 목적도 있었다.

Dev

구상

  • 간단한 API 6개 만드는 작업이었다.

  • 피그마를 참고하여 노션으로 명세를 해보니 대략적으로 초안은 저렇게 나왔었다.

  • DB schema를 빠르게 짜보았다. 개발을 하면서 수정도 많이 되었다. (dbdiagram.ioarrow-up-right)

  • API test는 Postman으로 하고, 명세는 Notion으로 작성하였다.

  • 자동으로 문서화도 해준다. (빠르게 짜느라 RESTful 하지는 않다.)

Docker-compose.yml & Dockerfile

📦 Docker builds and run

Directory Structure

  • 급하게 짜서 네이밍도 구조도 엉망이었다 ㅋㅎㅋㅎ

🖇️ 링크

🪬 회고

  • 팀 내 백엔드가 나 혼자라 걱정했었다. 다행히 여유있게 PoC 기능의 API는 개발을 완료하였다.

  • 하지만 그럼에도 불구하고 개발 퀄리티 적으로 아쉬운 것이 많았다. 끝나고 나니 부족한 부분이 많이 보였다 ..

  • 그래도 이번 경험을 통해 나 혼자서도 간단한 PoC API 개발이 빠르게 가능하구나를 느낄 수 있어 자신감이 생겼다.

  • 무엇보다 좋은 팀원과 사람들을 만날 수 있어 행운이었다. 마지막 날에 하루 더 있으면서 친해진 친구랑 해운대 여행도 했다 ㅎㅎ

Last updated