데브허브 | DEVHUB | Building a Production API in Golang from Scratch (Ecommerce project)Building a Production API in Golang from Scratch (Ecommerce project)
- Go 언어를 사용하여 처음부터 완전한 E-commerce API를 구축하는 프로젝트로, Go 백엔드 개발 입문자에게 훌륭한 시작점을 제공합니다. 🚀
- 인터뷰 시뮬레이션 방식을 통해 아키텍처, 설계 결정 및 개발자의 사고 과정을 상세히 보여주어 실질적인 학습 경험을 제공합니다. 🧠
- 기본적인 Go 문법 지식과 웹 서버의 본질적인 동시성 이해가 필요하며, 인증(Authentication)은 이 비디오의 범위를 넘어선 별도 학습 주제로 다룹니다. 📚
- API는 RESTful 원칙과 12 Factor App 방법론(버전 관리, 명시적 의존성 주입, 환경 변수 기반 설정, 구조화된 로깅)을 따라 프로덕션 준비 상태로 설계됩니다. 🛠️
- 수평적 확장을 위해 여러 API 서버 인스턴스를 활용하는 아키텍처를 채택하며, 데이터 저장은 PostgreSQL 관계형 데이터베이스를 사용합니다. ☁️
- E-commerce 도메인은 '제품(Products)'과 '주문(Orders)'으로 범위를 한정하며, 초기 데이터베이스 스키마는
Product, Order, OrderItems 테이블로 구성됩니다. 🛒
OrderItems 테이블에 주문 시점의 가격을 저장하여 가격 변동에 따른 데이터 일관성을 유지하는 등 데이터 모델링의 중요한 고려 사항을 설명합니다. 💰
- 주요 API 엔드포인트는 헬스 체크, 제품 목록 조회, 주문 생성(
POST /orders)이며, 주문 생성 로직에 대한 심층적인 고민이 필요함을 강조합니다. 📝
go mod init으로 프로젝트를 초기화하고, chi와 같은 경량 패키지를 사용하여 HTTP 서버를 효율적으로 구축할 예정입니다. ⚙️