피드로 돌아가기
Dev.toFrontend
원문 읽기
Vanilla JS와 Supabase를 활용한 48시간 내 무설치 탄소 추적 시스템 구축
I Built a Carbon Footprint Tracker in 48 Hours — Here's How Copilot Saved Me
AI 요약
Context
기존 탄소 계산기의 지나친 단순함 또는 기업 보고서 중심의 복잡한 접근 방식이라는 한계 존재. 사용자 진입 장벽을 낮추기 위해 별도 설치와 가입 절차가 없는 경량화된 개인 맞춤형 도구 필요성 대두.
Technical Solution
- Zero-build 전략을 통한 HTML5, CSS3, Vanilla JS 기반의 Lean Stack 채택으로 node_modules 제거 및 배포 효율 극대화
- LocalStorage 기반의 Persistent device_id 생성 및 Supabase RLS(Row-Level Security)를 결합한 익명 Cloud Sync 구조 설계
- 15개 이상의 복잡한 입력 항목을 Collapsible Section으로 그룹화하여 사용자 인지 부하 감소 및 데이터 입력 최적화
- Chart.js 인스턴스의 명시적 Destroy 프로세스 구현을 통한 Canvas Context 충돌 및 Undefined 레이블 런타임 에러 해결
- IPCC, EPA 등 검증된 데이터셋 기반의 EMISSION_FACTORS 객체 구조화를 통한 계산 로직의 신뢰성 확보
Impact
- GitHub Copilot 활용을 통한 전체 개발 공수 50% 절감
실천 포인트
- 단순 데이터 저장 목적의 앱에서 사용자 경험 향상을 위해 Email/Password 로그인 대신 Device ID 기반 익명 인증 검토 - 차트 라이브러리 사용 시 상태 변경에 따른 기존 인스턴스 메모리 해제 및 컨텍스트 초기화 로직 필수 적용 - 복잡한 입력 폼 설계 시 기본값(Sensible Defaults) 제공 및 그룹화를 통한 UX 최적화 적용