피드로 돌아가기
Dev.toBackend
원문 읽기
Flask와 MySQL 기반의 3-Tier 구조를 통한 e-Commerce 핵심 워크플로우 구현
How different layers of frontend and backend interact
AI 요약
Context
단일 진입점 기반의 단순한 시스템 구조를 통해 빠른 프로토타이핑과 핵심 비즈니스 로직 검증이 필요한 상황. Frontend와 Backend의 엄격한 분리보다 개발 속도와 데이터 정합성 확보에 우선순위를 둔 설계.
Technical Solution
- Jinja2 템플릿 엔진을 활용하여 Server-side Rendering(SSR) 방식으로 Presentation Layer 구현
- Flask Session을 이용한 상태 유지 및 장바구니 데이터의 임시 저장 구조 설계
- MySQL의 Foreign Key 제약 조건을 통한 Customer, Product, Order 간의 데이터 무결성 보장
- Order_item Junction Table 도입을 통한 Order와 Product 간의 Many-to-Many 관계 해소
- Parameterised SQL 적용을 통한 SQL Injection 공격 방어 및 보안성 강화
- Try-Except-Rollback 패턴을 통한 트랜잭션 관리로 주문 처리 과정의 원자성 확보
실천 포인트
1. Many-to-Many 관계 정의 시 Junction Table의 필수 설계 여부 검토
2. SSR 환경에서 페이지별 독립적 스타일 적용을 위한 Template Block 구조 활용
3. 데이터베이스 쓰기 작업 시 트랜잭션 롤백 로직을 통한 데이터 오염 방지책 마련
4. 세션 기반 임시 데이터의 휘발성 특성을 고려한 영속성 데이터 전환 시점 설계
태그