프론트엔드 개발자가 Django를 배운 이유: 유기동물 입양 앱 서버 개발기

2025. 9. 11.

안녕하세요, 컨시언스 파트너스 프론트엔드 엔지니어 Yeon입니다.😉

이번 글에서는 입사 후 처음 맡았던 유기동물 입양 애플리케이션을 개발하며 얻은 배움을 정리해 보려고 해요. 모든 게 낯선 상태에서 짧은 일정 안에 결과물을 만들어야 해서 쉽지 않았지만 🥲, 기술적 도전과 협업을 통해 많이 배우고 앞으로의 방향도 가다듬을 수 있었어요.


프로젝트 배경과 기술 스택

목표는 간단했어요. 유기동물 입양 과정을 더 쉽고 간결하게 만들어 보호소와 입양 희망자 모두에게 도움이 되는 서비스를 만드는 거였어요. 이를 위해 보호소 데이터와 공공 데이터를 통합하고, 사용자 친화적인 UI/UX를 구성하는 데 집중했어요.

프론트엔드는 Next.js, React, TypeScript를 사용했고, Django ORM, UI 컴포넌트는 shadcn/ui를 활용했어요. API 문서화와 타입 정의는 OpenAPI 기반으로 진행했어요. 초기엔 Hono로 API를 구성했지만, 이후 Django로 전환하는 과정을 거쳤어요.


1주일 퍼블리싱: 시간과 구조 사이에서

입사 직후 맡은 첫 업무는 퍼블리싱이었어요. UI와 사용자 플로우는 정리된 상태라 화면을 실제 서비스로 구현하는 일이었고, 기한은 단 1주일이었어요 😦. 보통 3~5명이 한 달 정도 투입하던 규모라 처음엔 불가능해 보였지만, shadcn/ui 덕분에 버튼·인풋 같은 반복 컴포넌트를 빠르게 구현하고 접근성도 확보할 수 있었어요.

다만 일정에 쫓기다 보니 초기 구조 설계에 충분한 시간을 쓰지 못한 점은 아쉬웠어요. 어떤 컴포넌트를 재사용 가능하게 만들지, 페이지를 어떻게 계층화할지 충분히 고민하지 못해 필요할 때마다 급히 variant를 만들고 페이지 단에서 로직을 붙이는 경우가 많았어요. 그 결과 후반으로 갈수록 핸들러나 상태 관리 같은 인터랙션을 깔끔하게 정리하지 못했고, 불필요한 props drilling도 생겼어요.


API 연동과 프레임워크 전환

퍼블리싱 이후 API 연동을 진행하면서, 회사 차원에서 Hono라는 초경량 프레임워크를 도입해 봤어요.

1. Hono의 장점과 한계

Hono는 약 18KB로 매우 가볍고 Cloudflare Workers, Vercel Edge Functions 등 Edge 환경에서 최적화된 성능을 보여줘요. Express와 유사한 미들웨어 구조라 프론트엔드 입장에서도 익숙했어요.

하지만 실제 프로덕션 적용에선 사소한 버그 처리나 배포 환경 최적화 등 해결할 과제가 적지 않았고, 촉박한 일정 속에서 결국 Django로 전환했어요.

2. Django로의 전환과 대응

Django는 백엔드 동료가 익숙했고, 안정적으로 빠르게 재구축할 수 있었어요. 엔드포인트를 대부분 유지해서 프론트엔드 수정은 최소화했어요.

다만 타입 검증이 문제였어요. 원래 OpenAPI에서 Zod 스키마를 자동 생성해 타입과 런타임 검증을 동시에 처리했는데, 전환 후엔 같은 구조를 바로 쓰기 어려웠어요. 결국 typeinterface를 직접 정의하며 대응했고, 안정성 측면에서 아쉬움이 남았어요. 현재는 1차 배포를 마친 상태이고, 이후 Zod 기반 검증 구조로 리팩토링할 계획이에요.

협업과 커뮤니케이션

개발은 기술만으로 완성되지 않아요. 이번 프로젝트에서는 팀 간 커뮤니케이션의 중요성을 크게 느꼈어요.

애매하게 정의된 UX 포인트나 누락된 API는 후반으로 갈수록 더 큰 문제로 돌아왔어요. 디자이너와 화면을 조정하면 백엔드 수정이 필요하고, 이 과정이 반복되곤 했어요.

여기서 배운 점은 “이상하다”라고만 말하는 게 아니라,

  • 어떤 흐름에서 문제가 발생했는지

  • 어떤 데이터가 누락되었는지

  • 사용자 경험에 어떤 영향을 주는지

를 구체적으로 정리해 전달해야 한다는 점이에요. 그래야 팀 전체가 동일한 문제의식을 공유하고 혼선을 줄일 수 있었어요.


백엔드 학습: 프론트엔드에서 한 걸음 더

Django로 전환하면서 저도 Django를 간단히 학습했어요. 프론트엔드가 본업이지만, 백엔드를 이해하는 건 프론트엔드 완성도를 높이는 데 큰 도움이 된다고 생각해요.

이전엔 Prisma, Supabase, Server Actions 등을 “동작시키는 수준”으로만 써봤다면, 이번 경험은 서버의 구조적 사고와 데이터 흐름을 더 깊게 이해해야겠다는 동기를 주었어요. 앞으로 Django를 비롯한 서버 로직을 꾸준히 학습해 프론트엔드와 백엔드를 잇는 풀스택의 시야를 갖추고자 해요.


마무리

짧은 일정과 새로운 기술, 협업 속에서 끊임없이 선택과 집중이 필요했던 프로젝트였어요. 그 과정에서 아래를 배웠어요.

  • 시간에 쫓길수록 완벽한 설계보다 러프하게 80%를 먼저 완성하고, 이후 다듬는 전략을 염두에 두자.

  • 협업에서는 문제 자체보다 문제를 설명하는 방식이 더 큰 차이를 만든다. 맥락·데이터·영향을 함께 공유하자.

  • 프론트엔드라도 백엔드 이해가 있으면 프로젝트 전반의 완성도가 높아진다.

앞으로는 Zod 기반 리팩토링으로 타입 안정성을 강화하고, Django 학습을 이어가 더 깊이 있는 백엔드 이해를 쌓아가려 해요. 이번 경험이 단순한 프로젝트 완료를 넘어, 개발자로 한 단계 성장하는 계기가 되었다고 생각해요.


컨시언스파트너스 ᅵ 대표 : 유승현 ᅵ cx@conscience.partners ᅵ 사업자등록번호 : 779-86-03107 ᅵ 개인정보관리책임자 : 유승현

본사 : 경기도 구리시 갈매중앙로 190, D동 402호 ᅵ  기업부설연구소 : 서울특별시 성동구 왕십리로 222, 한양대학교 코맥스타운

© 컨시언스파트너스 2024. All rights reserved

컨시언스파트너스 ᅵ 대표 : 유승현 ᅵ cx@conscience.partners ᅵ 사업자등록번호 : 779-86-03107 ᅵ 개인정보관리책임자 : 유승현

본사 : 경기도 구리시 갈매중앙로 190, D동 402호 ᅵ  기업부설연구소 : 서울특별시 성동구 왕십리로 222, 한양대학교 코맥스타운

© 컨시언스파트너스 2024. All rights reserved