Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
6931b80
초기셋팅
chbss331 Apr 29, 2025
3b65299
crud 초안 작성
chbss331 Apr 29, 2025
d712746
crud 스웨거 보완
chbss331 May 3, 2025
055afd8
delete crud/migrations/0001_initial.py
lsh1215 May 4, 2025
0dc462f
Create 0001_initial.py
lsh1215 May 4, 2025
3111a07
chore : rabbitMQ, Celery 세팅
lsh1215 May 4, 2025
0f8d502
feat : rabbitMQ, Celery를 통한 알림 연동
lsh1215 May 20, 2025
e958ec7
fix : backend ci 삭제
lsh1215 May 20, 2025
4361d01
fix : cors header 추가
lsh1215 May 20, 2025
916ec9b
fix : ci 도커 이미지 이름 추가
lsh1215 May 20, 2025
99ede90
fix : ci 변경
lsh1215 May 20, 2025
77f3f54
refactor : cors 설정
lsh1215 May 20, 2025
dac3178
fix : docker file 수정
lsh1215 May 20, 2025
22ed448
fix : 구니콘 추가
lsh1215 May 20, 2025
9177306
feat : 알림 기능 구현 및 cors 에러 해결
lsh1215 May 25, 2025
e81fb81
fix : cors 에러 해결
lsh1215 May 25, 2025
9e7b5a1
add gitignore file
chbss331 May 27, 2025
25eb862
feat: FCM 설정 및 민감 정보 제거
chbss331 May 27, 2025
b8d5690
refactor : cors 열기
lsh1215 May 27, 2025
91b42ab
fix : Dockerfile 수정
lsh1215 May 27, 2025
2602900
fix : Dockerfile 수정
lsh1215 May 27, 2025
ff161ec
fix : Dockerfile 수정
lsh1215 May 27, 2025
7214694
fix : Dockerfile 수정
lsh1215 May 27, 2025
1b049cb
fix : Dockerfile 수정
lsh1215 May 27, 2025
8b9126f
fix : Dockerfile 수정
lsh1215 May 27, 2025
860c2af
fix : Dockerfile 수정
lsh1215 May 27, 2025
9f6b3ee
fix : Dockerfile 수정
lsh1215 May 27, 2025
5193809
fix : Dockerfile 수정
lsh1215 May 27, 2025
16a4f74
fix : ci 수정
lsh1215 May 27, 2025
a1d99ab
fix : ci 수정
lsh1215 May 27, 2025
fc27ca8
fix : ci 수정
lsh1215 May 27, 2025
6bfc6ee
fix : ci 수정
lsh1215 May 27, 2025
e978bae
fix : ci 수정
lsh1215 May 27, 2025
3632bdd
fix : ci 수정
lsh1215 May 27, 2025
f164372
fix : ci 수정
lsh1215 May 27, 2025
b86bdb9
fix : ci 수정
lsh1215 May 27, 2025
e3df9eb
fix : ci 수정
lsh1215 May 27, 2025
0b541c9
fix : ci 수정
lsh1215 May 27, 2025
5630952
fix : ci 수정
lsh1215 May 27, 2025
7a1b74d
fix : Dockerfile 수정
lsh1215 May 27, 2025
a8a8c79
fix : Dockerfile 수정
lsh1215 May 27, 2025
12ed320
fix : Dockerfile 수정
lsh1215 May 27, 2025
cab2d1c
refactor: backend 디렉토리 구조 개선
lsh1215 Jan 17, 2026
decf3ac
chore: .cursorignore 및 .dockerignore 추가
lsh1215 Jan 17, 2026
bac569d
Celery Beat 관련 파일 및 설정 제거
lsh1215 Jan 17, 2026
bcc2568
refactor: requirements.txt 정리 및 최적화
lsh1215 Jan 17, 2026
f9aa8a3
refactor: AWS S3에서 GCP Cloud Storage로 마이그레이션
lsh1215 Jan 17, 2026
032249f
refactor: S3에서 GCS로 완전 전환 - 함수명 및 필드명 변경
lsh1215 Jan 17, 2026
36560ff
Add PRD and performance test documentation
lsh1215 Jan 18, 2026
06b4867
Add credentials folder and update ignore files
lsh1215 Jan 18, 2026
7acd6c0
Restructure Docker configuration for multi-service deployment
lsh1215 Jan 18, 2026
57466c9
Split requirements into service-specific files
lsh1215 Jan 18, 2026
4414f7e
Add service startup scripts with DataDog integration
lsh1215 Jan 18, 2026
0545cd8
Add core utilities for GCS, Firebase, and MQTT
lsh1215 Jan 18, 2026
0cc394c
Add Celery tasks for OCR and notification workers
lsh1215 Jan 18, 2026
ba9d336
Add Django apps for vehicles, detections, and notifications
lsh1215 Jan 18, 2026
3de8891
Remove legacy crud app and update Django configuration
lsh1215 Jan 18, 2026
03434fc
Refactor Docker configuration for local development
lsh1215 Jan 18, 2026
0a85b21
Simplify Celery worker startup scripts
lsh1215 Jan 18, 2026
0c62c71
Update Django settings and dependencies
lsh1215 Jan 18, 2026
3225bd1
Update MQTT subscriber and environment configuration
lsh1215 Jan 18, 2026
a3cdce9
Add comprehensive test suite with pytest
lsh1215 Jan 18, 2026
34328db
Implement MSA database separation architecture
lsh1215 Jan 18, 2026
e8d4da3
Refactor models for MSA database separation
lsh1215 Jan 18, 2026
8cd841a
Update Celery tasks for MSA database routing
lsh1215 Jan 18, 2026
6d08db6
Update PRD for MSA database separation architecture
lsh1215 Jan 18, 2026
5cefaef
Refactor Docker configuration and add deployment infrastructure
lsh1215 Jan 24, 2026
a50afa4
Add DataDog monitoring infrastructure and simplify Makefile
lsh1215 Jan 26, 2026
04d0696
Fix DataDog APM trace delivery and add deployment infrastructure
lsh1215 Jan 27, 2026
f46b3e1
Update README with project details and system architecture
lsh1215 Jan 27, 2026
dc44afc
Refactor CI workflows with lint, test, and Docker build pipeline
lsh1215 Jan 27, 2026
38cbcec
Fix all flake8 lint errors and add project lint configuration
lsh1215 Jan 27, 2026
1cb7ac5
Split CI into parallel workflows for faster execution
lsh1215 Jan 27, 2026
85d54a1
Add missing migrations and fix tests for MSA multi-database architecture
lsh1215 Jan 27, 2026
1309418
Fix black formatting in test_event_flow.py
lsh1215 Jan 27, 2026
d66b764
Fix critical architecture issues: dead code removal, DB safety, and F…
lsh1215 Feb 6, 2026
ac99e39
Align implementation with PRD: Celery config, DB router, and OCR task…
lsh1215 Feb 6, 2026
c04eb86
Rewrite prod.py with MSA multi-DB, strict security settings
lsh1215 Feb 6, 2026
313e7f7
Improve OCR performance, retry handling, and MQTT process management
lsh1215 Feb 6, 2026
332a0b7
Improve code quality: DRF patterns, health check, DLQ consumer, and d…
lsh1215 Feb 6, 2026
0c2e573
Fix flake8 lint errors: unused import and missing newline
lsh1215 Feb 6, 2026
5e7c589
Fix black formatting: line length and line joining
lsh1215 Feb 6, 2026
72bdf91
feat: FCM 토픽 구독 지원 추가 (대시보드 알림용)
lsh1215 Feb 6, 2026
39b05f5
feat: 모든 감지에 대해 대시보드 토픽 알림 전송
lsh1215 Feb 6, 2026
31712c1
fix: 알림 태스크 안정성 및 코드 품질 개선
lsh1215 Feb 6, 2026
c68707f
refactor: 코드 품질 개선 및 불필요한 코드 정리
lsh1215 Feb 6, 2026
62fad6c
style: black 포매터 적용 (CI Code Quality 수정)
lsh1215 Feb 7, 2026
7fb3c7e
Remove DataDog agent, Terraform, and Makefile
lsh1215 Feb 3, 2026
755f159
Replace ddtrace with OpenTelemetry and django-prometheus
lsh1215 Feb 3, 2026
c7b82e9
Add open-source monitoring stack with docker-compose.monitoring.yml
lsh1215 Feb 3, 2026
b55c7f3
Add monitoring docs and update performance test guide for Prometheus …
lsh1215 Feb 3, 2026
259d507
Update deployment guide for multi-instance GCP architecture
lsh1215 Feb 6, 2026
29582a3
Fix OTel logging crash when running without opentelemetry-instrument
lsh1215 Feb 6, 2026
0927117
Add load test scripts and fix Loki ingestion limits
lsh1215 Feb 6, 2026
c6c07ec
Clean up monitoring stack and replace performance test docs
lsh1215 Feb 6, 2026
3827363
Fix flake8 lint: remove unused import and f-string without placeholder
lsh1215 Feb 6, 2026
3c61432
Fix black formatting in mqtt-load-test.py
lsh1215 Feb 6, 2026
ffb69a5
Fix flake8 E501: break long image_gcs_uri line
lsh1215 Feb 7, 2026
9ac7795
Fix isort: alphabetical order in datetime imports
lsh1215 Feb 7, 2026
a688308
Fix docs and config issues found in code review
lsh1215 Feb 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions .cursorignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
*.egg-info/
dist/
build/

# Virtual Environment
venv/
env/
ENV/
.venv

# IDE
.vscode/
.idea/
*.swp
*.swo
*~

# Environment variables
*.env
.env.*
backend.env

# Credentials (실제 인증 파일 - 민감 정보)
credentials/*.json
!credentials/*.example.json
crud/fcm/*.json
!crud/fcm/*.example.json

# Database
*.sqlite3
*.db

# Media files (uploaded content)
media/
static/

# Logs
*.log
logs/

# Celery
celerybeat-schedule
celerybeat.pid

# Git
.git/

# Docker (수정 허용)

# Cache
.cache/
.pytest_cache/

# Coverage
htmlcov/
.coverage
.coverage.*
coverage.xml

# OS
.DS_Store
Thumbs.db

# Migrations (optional - 주석 해제하면 migration 파일도 무시)
# */migrations/*.py
# !*/migrations/__init__.py

75 changes: 75 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Git
.git/
.gitignore

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
*.egg-info/
dist/
build/

# Virtual Environment
venv/
env/
ENV/
.venv/

# IDE
.vscode/
.idea/
*.swp
*.swo
*~

# Environment files (런타임에 주입)
*.env
.env.*
backend.env

# Credentials - 빌드 시 제외 (런타임에 볼륨 마운트)
credentials/*.json
!credentials/*.example.json
crud/fcm/*.json

# Database
*.sqlite3
*.db

# Media files
media/

# Logs
*.log
logs/

# Cache
.cache/
.pytest_cache/

# Coverage
htmlcov/
.coverage
.coverage.*
coverage.xml

# OS
.DS_Store
Thumbs.db

# Documentation (이미지 빌드에 불필요)
docs/
*.md
!README.md

# Tests (프로덕션 이미지에 불필요한 경우)
# tests/
# *_test.py
# test_*.py

# Docker
Dockerfile*
docker-compose*.yml
64 changes: 0 additions & 64 deletions .github/workflows/backend-ci.yml

This file was deleted.

46 changes: 0 additions & 46 deletions .github/workflows/cd.yml

This file was deleted.

27 changes: 0 additions & 27 deletions .github/workflows/ci.yml

This file was deleted.

44 changes: 44 additions & 0 deletions .github/workflows/docker-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Docker Build

on:
push:
branches: [develop]
pull_request:
branches: [develop]

concurrency:
group: docker-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
name: ${{ matrix.service.name }}
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
service:
- name: main
dockerfile: docker/Dockerfile.main
- name: ocr
dockerfile: docker/Dockerfile.ocr
- name: alert
dockerfile: docker/Dockerfile.alert

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build ${{ matrix.service.name }} image
uses: docker/build-push-action@v6
with:
context: .
file: ${{ matrix.service.dockerfile }}
push: false
cache-from: type=gha,scope=${{ matrix.service.name }}
cache-to: type=gha,mode=max,scope=${{ matrix.service.name }}
tags: speedcam/${{ matrix.service.name }}:ci-${{ github.sha }}
45 changes: 45 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Lint

on:
push:
branches: [develop]
pull_request:
branches: [develop]

concurrency:
group: lint-${{ github.ref }}
cancel-in-progress: true

jobs:
lint:
name: Code Quality
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Cache pip
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-lint-${{ hashFiles('requirements/dev.txt') }}
restore-keys: |
${{ runner.os }}-pip-lint-

- name: Install lint dependencies
run: pip install flake8==7.1.1 black==24.10.0 isort==5.13.2

- name: Run flake8
run: flake8 . --count --show-source --statistics

- name: Run black (check)
run: black --check --diff --exclude='/(\.venv|migrations)/' .

- name: Run isort (check)
run: isort --check-only --diff --profile black --skip .venv --skip migrations .
Loading