계획을 코드로: Bloom After 2주 차 진행 상황

발행: (2026년 3월 14일 오전 09:28 GMT+9)
12 분 소요
원문: Dev.to

Source: Dev.to

위에 제공된 Source 라인 외에 번역하고자 하는 본문 텍스트를 알려주시면, 해당 내용을 한국어로 번역해 드리겠습니다.
(코드 블록이나 URL은 그대로 유지하고, 마크다운 형식과 기술 용어는 그대로 보존합니다.)

Source:

이번 주에 만든 것

1. 백엔드 아키텍처 구축

이번 주 주요 업무 중 하나는 플랫폼이 실행될 핵심 백엔드 구조를 설정하는 것이었습니다.

우리는 Node.jsMongoDBMongoose를 통해 사용하여, Bloom After가 관리할 다양한 데이터 유형에 대한 구조화된 모델을 정의하는 백엔드를 구축하기 시작했습니다.

다음 주요 데이터베이스 모델을 만들고 연결했습니다:

  • Resources – 교육 자료 및 지원 콘텐츠
  • Clinics – 엄마들이 도움을 받을 수 있는 장소
  • Community Stories – 엄마들의 공유 경험
  • Admin accounts – 플랫폼 콘텐츠를 관리하는 계정

이 모델들을 초기에 정의함으로써 프론트엔드가 정보를 조회하거나 업데이트할 때 일관된 데이터 구조와 상호작용할 수 있게 되었습니다.

모델 외에도 다음과 같은 백엔드 유틸리티를 구현했습니다:

  • 리소스와 클리닉을 위한 API 라우트
  • 남용을 방지하기 위한 Rate limiting
  • 요청을 처리하기 위한 기본 서버 구조

이것이 앞으로 추가될 기능들이 기반으로 삼을 애플리케이션의 골격이 됩니다.

2. 백엔드와 프론트엔드 연결

이번 주 작업의 또 다른 큰 부분은 팀이 개발 중인 프론트엔드 페이지와 백엔드 API를 연결하는 것이었습니다.

ResourcesClinic Finder 페이지를 개발하고 있는 Grace Olabode와 긴밀히 협업하면서, 해당 페이지들이 서버에서 실제 데이터를 가져올 수 있도록 백엔드 엔드포인트를 연결했습니다.

연결된 백엔드 라우트는 다음과 같습니다:

  • Resources
  • Clinics
  • Admin login
  • Dashboard data

프론트엔드가 백엔드와 쉽게 상호작용하도록, 요청을 간단히 보낼 수 있게 해주는 작은 유틸리티 API helper 파일도 만들었습니다.

3. 관리자 로그인 및 대시보드 설정

관리자 로그인 페이지를 구축하고, 요청이 처리되는 동안 사용자가 명확한 피드백을 받을 수 있도록 로딩 상태를 추가했습니다.

백엔드에서는 인증 로직을 연결해 로그인 요청이 데이터베이스와 올바르게 통신하도록 하였으며, 이를 통해 권한이 부여된 관리자가 리소스, 클리닉, 커뮤니티 스토리와 같은 콘텐츠를 관리할 수 있게 되었습니다.

4. 클리닉 찾기를 위한 위치 데이터 처리

이번 주에 해결한 보다 도전적인 기술 문제 중 하나는 위치 기반 클리닉 검색이었습니다.

클리닉 찾기 기능은 엄마들이 가까운 지원 센터를 찾을 수 있도록 설계되었습니다. 하지만 위치별로 클리닉을 검색하는 것이 처음 예상했던 것보다 복잡했습니다.

예시

  • Ikeja에 위치한 클리닉이 Lagos를 검색할 때도 나타나야 합니다.
  • Ojo 혹은 Oshodi‑Isolo를 검색하면 해당 지역 근처의 병원이 표시되어야 합니다.

이를 구현하기 위해 위도와 경도 데이터를 활용하기 시작했으며, 주소를 좌표로 변환하는 지오로케이션 API를 사용했습니다. 좌표가 확보되면 위치 간 거리를 비교해 사용자가 가장 가까운 클리닉을 찾을 수 있습니다.

이 부분은 아직 진행 중이지만, 이번 주에 클리닉 검색을 더 스마트하고 정확하게 만들기 위한 첫 걸음을 뗐습니다.

인프라 및 배포

이번 주 작업의 또 다른 부분은 애플리케이션이 안정적으로 실행될 수 있도록 백엔드 인프라를 준비하는 것이었습니다.

Grace와 함께 프로젝트를 위해 여러 서비스를 설정했습니다:

  • MongoDB – 애플리케이션 데이터 저장
  • Cloudinary – 이미지 및 미디어 자산 호스팅
  • Render – 백엔드 서버 배포 및 실행

Grace가 초기 서비스 계정을 만들었고, 저는 백엔드가 모든 연결을 올바르게 할 수 있도록 필요한 환경 변수를 구성했습니다.

주말까지 백엔드가 성공적으로 배포되어 팀이 실환경에서 시스템을 테스트할 수 있게 되었습니다.

백엔드 팀 지원

백엔드 리드로서 제 역할 중 하나는 백엔드 트랙에 기여하는 다른 개발자들과 조율하는 것입니다. 이번 주에 두 가지 초기 작업을 할당했습니다:

  • Prospect – 로그인 페이지 기능 작업
  • Sophia – MongoDB 설정 및 데이터베이스 구성 지원

두 사람 모두 훌륭한 작업을 수행했으며, 그들의 구현을 검토하는 것이 귀중한 학습 경험이었습니다. 협업 스프린트의 가장 좋은 점 중 하나는 다른 개발자의 코드와 접근 방식을 읽으며 배우는 양이 많다는 것입니다.

Challenges I Faced

이번 주에 제가 직면한 가장 어려운 과제는 위치 데이터 작업이었습니다.

위치 검색을 다루는 것은 처음엔 간단해 보이지만, 사람들이 실제로 장소를 어떻게 검색하는지를 생각하면 훨씬 복잡해집니다. 사용자는 주(state), 도시(city), 혹은 지방자치단체(area)를 검색할 수 있습니다. 시스템이 여전히 관련 클리닉을 반환하도록 하려면 주소를 좌표로 변환하고 거리를 정확히 비교해야 합니다.

저는 지오로케이션 API를 실험하고, 이 시스템이 신뢰성 있게 작동하도록 데이터를 구조화하는 방법을 찾는 데 상당한 시간을 투자했습니다.

내가 배운 것

이번 주에 흥미롭게 배운 점은 프론트엔드와 백엔드가 서로 다른 도메인에 있더라도 쿠키를 사용할 수 있다는 것입니다.

이 프로젝트를 시작하기 전까지는 쿠키가 양쪽 시스템이 같은 오리진을 공유할 때만 쉽게 동작한다고 생각했었습니다.
하지만 적절한 설정을 하면 쿠키가 도메인 간에도 작동할 수 있습니다—다만 보안 설정이 약간 다를 뿐입니다.

이 내용은 백엔드 자원봉사자 중 한 명이 설명해 주었고, 인증을 처리하는 새로운 옵션을 열어 주었습니다.

이번 주 기능 진행 상황

2주 차가 끝날 무렵, 플랫폼의 여러 부분이 형태를 갖추기 시작했습니다:

  • 관리자 로그인 및 대시보드 시스템
  • 리소스 콘텐츠 API
  • 클리닉 찾기 백엔드 로직
  • 커뮤니티 스토리 시스템 (초기 개발 단계)

이러한 요소들이 연결되기 시작하는 것을 보며 이번 주는 프로젝트가 본격적으로 살아나기 시작한 순간처럼 느껴졌습니다.

팀 감사

Bloom After를 구축하는 것은 팀 노력이며, 이를 실현하는 사람들을 인정하고 싶습니다.

  • Grace Olabode (엔지니어링 리드) – 그녀가 만든 리소스 및 클리닉 페이지와 백엔드를 연결하면서 긴밀히 협업했으며, 여러 풀 리퀘스트를 검토하고 병합했습니다.
  • Nanji Lakan (프로덕트 리드) – 플랫폼 방향을 지속적으로 이끌어 준 것에 감사드립니다.
  • Agugua Genevieve (디자인 리드) – 플랫폼을 지원적이고 사용하기 쉬운 인터페이스로 설계해 준 것에 감사드립니다.
  • Prisca Onyemaechi (리드 메인테이너) – 원활한 GitHub 워크플로우를 유지해 준 것에 감사드립니다.
  • 백엔드 기여자 ProspectSophia – 이번 주에 보여준 훌륭한 작업에 감사드립니다.

앞으로

2주 차는 Bloom After가 계획 단계에서 실제 개발 단계로 전환한 시점이었습니다.

백엔드 아키텍처가 구축되고 첫 번째 API가 실행되면서, 다음 단계는 시스템을 확장하여 플랫폼이 어머니들이 의존할 리소스, 클리닉, 그리고 이야기를 완전히 지원할 수 있도록 하는 것입니다.

아직 구축해야 할 것이 많이 남아 있지만, 이제 엔진이 가동되고 있습니다.

0 조회
Back to Blog

관련 글

더 보기 »