Commit Graph

101 Commits

Author SHA1 Message Date
AutonetSellCar Deploy
6ba254bfeb Export new schema classes from schemas package
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 13:12:55 +09:00
AutonetSellCar Deploy
b0a78abeb3 Add directly purchased cars to My Requests page
- Add new /my-vehicles API endpoint returning both recommended and direct purchases
- Add DirectPurchasedCarResponse and MyVehiclesResponse schemas
- Update frontend to display directly purchased cars (from banners with 1CC)
- Show separate collapsible section for direct purchases

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 13:10:00 +09:00
AutonetSellCar Deploy
ef729ee384 Add recommended vehicle check to car view access
Cars that were recommended to the user (via vehicle request with 1CC payment)
should be accessible without additional CC payment.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 12:42:30 +09:00
AutonetSellCar Deploy
80d2e82922 Add car_id column to RequestVehicle model
- Add car_id foreign key to link recommended vehicles to cars table
- Add car relationship for easier access

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 12:40:40 +09:00
AutonetSellCar Deploy
c0187d233b Add car_id field to RequestVehicleResponse schema
This field was missing, causing the API to not return car_id
for approved vehicles in My Vehicle Requests page.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 12:38:57 +09:00
AutonetSellCar Deploy
757241bb4e Add car_id field to RequestVehicle interface
- Add optional car_id field for linking to cars table
- Add regenerateSingle function to adminPdfApi

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 12:28:13 +09:00
AutonetSellCar Deploy
0e55ab201a Fix vehicle click issue in My Vehicle Requests page
- Use car_id or fallback to car_data.local_car_id or car_data.id
- Disable link if no valid car ID is available
- Show "Vehicle unavailable" message when car ID is missing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 12:26:47 +09:00
AutonetSellCar Deploy
51d36566d1 Fix SidebarLayout mobile responsiveness
- Move mobile tabs outside flex container to prevent layout conflict
- Add sticky positioning for mobile tabs
- Add min-w-0 to main content to prevent overflow
- Reduce padding on mobile screens

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 12:11:36 +09:00
AutonetSellCar Deploy
f452bbc03b Improve mobile responsiveness across the site
- Header: Hide notifications/auth on mobile, add to mobile menu, make hamburger more visible
- FilmStripSlider: Responsive image sizes (200-500px based on viewport)
- Home page: Smaller text, buttons, and spacing on mobile
- Car detail: Responsive image height, text sizes, and padding

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 10:35:04 +09:00
AutonetSellCar Deploy
f37f66a9d4 Add deployment workflow section to CLAUDE.md
- Add staging/production server URLs
- Add step-by-step deployment order (staging first!)
- Add Git repository info
- Add staging and production deployment commands

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-03 09:44:35 +09:00
AutonetSellCar Deploy
b1afea79d9 Add SOLD OUT badge and improve deployment docs
- Add SOLD OUT overlay on car detail page image
- Add SOLD OUT badge next to car name
- Add Sold Out status in Admin Cars detail view
- Add soldout field to Car TypeScript interface
- Create PRODUCTION_VALUES.md for deployment reference
- Update CLAUDE.md with CRITICAL deployment section
- Update TROUBLESHOOTING.md with recurring errors

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-03 09:05:16 +09:00
AutonetSellCar Deploy
2da464694b Change Mongolian Fee to Local Dealer Fee in cost calculator 2026-01-01 21:37:28 +09:00
AutonetSellCar Deploy
582ddf1e70 Update DEPLOYMENT.md with comprehensive deployment guide 2026-01-01 21:22:25 +09:00
AutonetSellCar Deploy
2a3d633e58 Fix cost page: unify background colors and width 2026-01-01 21:05:02 +09:00
AutonetSellCar Deploy
ca20a099a2 Fix: 삭제된 사용자 이메일 인증 허용
- verification.py의 send-preregister 엔드포인트에서 deleted_at 체크 추가
- 삭제된 사용자가 동일 이메일로 재가입 가능하도록 수정

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 19:33:24 +09:00
AutonetSellCar Deploy
c0ceade463 Docs: 변경 이력에 비밀번호 보안 강화 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 19:22:47 +09:00
AutonetSellCar Deploy
9853f0b4d5 Feat: 강력한 비밀번호 정책 및 로그인 보안 강화
- 비밀번호 최소 10자 이상, 특수문자 1개 이상 필수
- 20회 로그인 실패 시 비밀번호 재설정 필요
- 로그인 페이지에 남은 시도 횟수 경고 표시
- 계정 잠금 시 비밀번호 재설정 링크 제공
- 회원가입 페이지에 비밀번호 요구사항 체크리스트 UI

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 19:19:36 +09:00
AutonetSellCar Deploy
1e3ad2fa65 Docs: 변경 이력 테이블 정리
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 18:48:54 +09:00
AutonetSellCar Deploy
648c2be1b0 Docs: .env 파일 관리 섹션 추가 및 변경 이력 업데이트
- 운영서버 .env 파일 위치 및 관리 방법 문서화
- inquiries 테이블 누락 컬럼 추가 기록
- 삭제된 사용자 재가입 수정 기록

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 17:53:39 +09:00
AutonetSellCar Deploy
de06404d0f Fix: 삭제된 사용자 재가입 허용 및 로그인 차단
- 소프트 삭제된 사용자도 재가입 가능하도록 수정
- 재가입 시 기존 삭제된 사용자 데이터 완전 삭제
- 삭제된/비활성화된 사용자 로그인 차단

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 17:40:47 +09:00
AutonetSellCar Deploy
1818f0229c Add DEPLOYMENT.md guide for deployment and DB migration
- Document server structure and deployment flow
- Add DB schema change checklist (SQLite ALTER TABLE)
- Include common troubleshooting and rollback commands
- Reference in CLAUDE.md for new sessions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 10:03:46 +09:00
AutonetSellCar Deploy
9a3a6dc8eb Add translation for 마이스터 (Meister) grade
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 09:50:14 +09:00
AutonetSellCar Deploy
7f45de7a89 Add configurable CC cost for banner vehicle PDF/description view
- Add cc_per_banner_view setting to system_settings (default 0.1 CC)
- Update car detail page to use dynamic CC value from settings
- Add CC per Banner View field in admin settings page
- Replace hardcoded 0.1 CC with configurable value

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 09:41:18 +09:00
AutonetSellCar Deploy
0d807eccc6 Widen Cost Structure section to match Container Matching width
Changed max-w-4xl to max-w-5xl for consistent layout.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 20:31:34 +09:00
AutonetSellCar Deploy
612425a6c2 Add multi-language description for Korean Domestic + Export Customs
Added description text under the domestic cost field in both the cost
structure section and calculator results. Translated into Korean,
English, Mongolian, and Russian.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 20:27:59 +09:00
AutonetSellCar Deploy
2a8e32f427 feat: Add admin settings for dealer comment & domestic cost, enhance visitor country stats
- Add show_dealer_comment toggle to admin settings
- Add domestic_export_customs_krw setting for cost page
- Cost page now uses dynamic settings instead of hardcoded values
- Enhance Visitor Stats with dedicated Country Stats card with flags
- Fix hero_banners API route ordering (422 error fix)
- Fix banner toggle logic to check HeroBanner table instead of car.is_banner
- Add country flag emojis for 23+ countries

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 18:10:27 +09:00
AutonetSellCar Deploy
be7f12bbf3 Fix TypeScript Set iteration error 2025-12-31 17:14:47 +09:00
AutonetSellCar Deploy
bd6c05cc83 Add debug logs for banner update 2025-12-31 17:12:46 +09:00
AutonetSellCar Deploy
ce35017d4f Translate Korean car names in homepage banner
Apply translateCarName to banner titles and subtitles to show
translated text instead of Korean when hovering over banners.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 17:06:30 +09:00
AutonetSellCar Deploy
9265a823dc Fix Korean text in banner drag-and-drop section
- Translate car name to English using translateCarName
- Remove Korean year suffix (년)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 16:57:38 +09:00
AutonetSellCar Deploy
d902f920b3 Fix 422 error on /admin/banner-cars endpoint
Move /admin/banner-cars route before /admin/{banner_id} to fix route
matching order. FastAPI was matching "banner-cars" as a path parameter
and failing to convert it to an integer.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 16:45:47 +09:00
AutonetSellCar Deploy
3a4475ea28 Fix banner reorder API with proper request schema
- Create BannerReorderRequest Pydantic model for reorder endpoint
- Update frontend to send car_ids wrapped in object
- Fixes 422 Unprocessable Entity on reorder API

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 16:21:05 +09:00
AutonetSellCar Deploy
3cf6fd2121 Fix reorder API to properly accept list body parameter
- Add Body() to car_ids parameter in reorder_banners endpoint
- Fixes 422 Unprocessable Entity error when reordering banners

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 16:11:14 +09:00
AutonetSellCar Deploy
6cf2c69371 Fix loadLocalCars error handling for banner API failure
- Wrap banner API call in try-catch to prevent entire function failure
- Fall back to car.is_banner field if banner API returns error
- Local Cars tab now loads even if banner API fails

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 16:05:04 +09:00
AutonetSellCar Deploy
ea91e020b0 Implement batch banner update with drag-and-drop reordering
- Change banner checkbox from immediate toggle to local state management
- Add "Update Banner" button for batch saving changes
- Add draggable banner section at top using framer-motion Reorder
- Banner cars now sorted by display_order from server
- Checkboxes reflect current banner state from DB on page load

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 15:59:47 +09:00
AutonetSellCar Deploy
13bad3ab36 fix: Share production uploads folder with staging
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 15:44:29 +09:00
AutonetSellCar Deploy
17ec5f108b fix: Update staging docker-compose to share production DB
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 15:37:23 +09:00
AutonetSellCar Deploy
a406535815 fix: Add staging URLs to CORS origins
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 15:32:10 +09:00
AutonetSellCar Deploy
c9fd7611a7 feat: Add banner toggle and soldout tracking to Cars page
- Add is_banner, soldout fields to Car model
- Add banner toggle API (POST /hero-banners/admin/toggle/{car_id})
- Add soldout APIs (POST/DELETE /cars/{car_id}/soldout)
- Add nightly soldout checker in agent (runs at 3:00 AM)
- Update Local Cars UI with banner checkbox and status column
- Remove hero-banners admin page (functionality moved to Cars page)
- Banner cars sorted to top with purple background
- Soldout cars displayed with gray overlay

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 12:50:40 +09:00
AutonetSellCar Deploy
9969554deb fix: Dockerfile에 NEXT_PUBLIC_API_URL ARG 추가, ENV 형식 수정 2025-12-31 11:06:48 +09:00
AutonetSellCar Deploy
d48de13377 fix: NEXT_PUBLIC_API_URL을 HTTPS로 변경, agent .env 마운트 추가 2025-12-31 11:00:09 +09:00
AutonetSellCar Deploy
81b75f0e2c docs: Git 기반 배포 필요성 및 carmodoo-agent 환경변수 설명 추가 2025-12-31 10:55:36 +09:00
AutonetSellCar Deploy
e661d91c72 fix: banner translations and deployment improvements
- Add translateCarName import from i18n.ts for proper multilingual support
- Change default API language from 'ko' to 'en' for hero banners
- Add checkbox column for Local Cars banner registration
- Update Dockerfile with Playwright dependencies
- Add PostgreSQL migration script
- Add banner translation fix script

🤖 Generated with [Claude Code](https://claude.ai/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 10:41:42 +09:00
AutonetSellCar Deploy
898ab3a0eb Fix: Mongolian date format fallback to en-US
mn-MN locale is not supported in most browsers, causing dates to
display in Korean format. Changed to use en-US for Mongolian users.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 19:41:48 +09:00
AutonetSellCar Deploy
215a3aa880 Add deployment guide with ASCII art diagrams
Comprehensive documentation covering:
- Full deployment pipeline overview
- Server environment configuration
- Step-by-step deployment process
- Manual SCP deployment method
- Docker container architecture
- Rollback procedures
- Quick reference commands
- Troubleshooting guide

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 19:12:37 +09:00
AutonetSellCar Deploy
2c99f6a2b1 Add deployment scripts and troubleshooting docs
- deploy_ru_server2.sh: Russian language deployment script for server2
- update_db_ru.py: Database migration for Russian columns
- TROUBLESHOOTING.md: Common issues and solutions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 18:57:16 +09:00
AutonetSellCar Deploy
1d8e4435b3 Feature: Russian language support & Vehicle Requests improvements
- Add Russian language support (title_ru, subtitle_ru) for hero banners
- Add fuel/transmission translations for Mongolian (경유→Дизель, 오토→Автомат)
- Improve Vehicle Requests admin page:
  - Display real request ID and user email
  - Show detailed request info (maker, grade, year, fuel, mileage)
  - Replace modal search with Cars page integration
- Add "Add to Request" flow in Cars page for vehicle recommendations
- Fix image URL handling in FilmStripSlider and car detail page

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 18:56:28 +09:00
AutonetSellCar Deploy
0ccc2f75c5 Fix: Use NEXT_PUBLIC_API_URL for all image URLs 2025-12-30 16:09:06 +09:00
AutonetSellCar Deploy
a3d5339c84 Add stripe and user-agents to requirements.txt 2025-12-30 14:19:55 +09:00
AutonetSellCar Deploy
4e815ee7f5 Add lxml to requirements.txt 2025-12-30 14:15:51 +09:00