건물 관리비 관리 시스템
- Backend: Go
- Database: MySQL
- Auth: JWT
- 건물/호실 관리
- 관리비 청구 및 조회
- Excel 데이터 가져오기/내보내기
Repository Pattern
- 데이터 액세스 로직을 Repository 레이어로 분리
xRepository.go에서 인터페이스 정의,*_mysql.go에서 구현
세부적인 패키지 분리
- 도메인별 독립적 구조 (Bill, Building, Floor, Room, User)
- Handler → Repository → Database 레이어
Raw Query 활용
- 복잡한 관리비 집계 및 통계 연산 최적화
JWT + Context
- JWT 미들웨어로 인증 후 Context에 userId 주입
- 각 핸들러에서 Context를 통해 userId 접근
# 의존성 설치
go mod download
# 환경변수 설정
cp .env.example .env
# DB 초기화
mysql -u root -p < sql/buildings.sql
# 실행
go run cmd/main.go