Commit Graph

9 Commits

Author SHA1 Message Date
root
bdef4b7ae0 feat: add ESP32 DIY platform Phase 1 (marketplace scaffold)
- Docker Compose with Postgres, Redis, MinIO, backend, frontend (port 3200/3201)
- Prisma schema: User, Project, ProjectFile, Product, Order, FlashToken, Review, AuditLog
- Backend: JWT auth, project CRUD + file upload (MinIO + sharp WebP), admin approval flow
- Frontend: React + Vite SPA with auth, project/shop browse, seller dashboard, admin panel
- Admin: pending approval queue, user management, audit log viewer, stats dashboard
- Audit logging middleware for legal compliance
- Admin init script: createAdmin.js
- Full design document in PLATFORM_DESIGN.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 06:05:46 +09:00
root
bc5dd5dba7 docs: add scalability and commercial service roadmap to README
Document concurrent flash architecture (client-side Web Serial),
bandwidth-based concurrency estimates, current MVP limitations,
and phased roadmap for commercial deployment including HTTPS,
auth, rate limiting, DB migration, S3 storage, and license model.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 06:15:31 +09:00
root
211bf34bc3 fix: suppress Improv WiFi step so only Close button shows after flash
Add new_install_improv_wait_ms: 0 to manifest — prevents esp-web-tools
from waiting for Improv WiFi provisioning response after installation,
so the completion dialog shows only Close instead of Next.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 05:52:43 +09:00
root
88094afe06 fix: auto-select firmware after upload, guard flash button without selection
- Auto-select uploaded firmware immediately after upload completes
- Auto-select single firmware on list load (no manual click needed)
- Hide flash button and show warning when no firmware is selected
- Re-apply manifest on list reload to avoid stale state
- Restore warning banner on firmware delete

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 05:39:23 +09:00
root
3b7a28828d fix: raise nginx client_max_body_size to 64M for large firmware uploads
Default nginx limit is 1MB — merged.bin (16MB+) was rejected with 413
HTML response, causing JSON parse error in the frontend.
Added proxy_read_timeout 120s for slow upload connections.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 05:33:35 +09:00
root
3a662affb6 feat: support merged.bin, boot_app0, upload mode toggle + flash guide
- server.js: add boot_app0 field at 0xe000, raise file limit 8→32 MB
- index.html: add 병합/분리 mode toggle, boot_app0 drop zone, numbered split zones
- app.js: dynamic mode logic, remove hardcoded flashAddress 0x10000,
  server now auto-selects 0x0 (merged) or 0x10000 (split)
- flash-guide.html: step-by-step Korean flash guide with file table,
  method A/B walkthrough, flash_args explanation, troubleshooting

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 05:26:53 +09:00
root
cb9df54abb feat: add full ESP board family support
Add ESP8266, ESP32-C6, ESP32-C2, ESP32-H2 to chip selector with
optgroup layout. Generalize UI text from ESP32-S3-specific to
board-agnostic. Add esptool merge_bin examples for ESP32, ESP32-S3,
and ESP8266.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 05:22:11 +09:00
root
53c44bd31b docs: add README and technical analysis report
- README.md: project overview, quick start, usage guide, API reference,
  directory structure, environment variables, security notes
- report.html: comprehensive Korean technical report covering architecture,
  tech stack, feature analysis, API spec, data flow, security, deployment,
  and roadmap

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 03:38:51 +09:00
root
ea41d0d1ed first commit 2026-05-17 03:27:30 +09:00