feat: implement WYSIWYG markdown editor with Go backend and React frontend

Implements full markdown editor application with:

Backend (Go):
- Cobra CLI with --data-dir, --port, --host flags
- REST API for CRUD operations on markdown files
- File storage on disk with flat structure
- Logrus logging for all operations
- Static asset serving for frontend
- Comprehensive tests for CRUD and static assets

Frontend (React + TypeScript + Tailwind):
- Markdown editor with live GFM preview
- File management UI (list, create, open, save, delete)
- Theme system (Dark, Light, System) with persistence
- Responsive design (320px to 1920px)
- Component tests for core functionality

Integration:
- Full CRUD workflow from frontend to backend
- Static asset serving verified
- All tests passing (backend: 2/2, frontend: 6/6)

Files added:
- Backend: API handler, logger, server, tests
- Frontend: Components, tests, config files
- Build artifacts: compiled backend binary and frontend dist
- Documentation: README and implementation summary
This commit is contained in:
2026-02-06 21:04:18 -05:00
parent 42af63fdae
commit 2a9e793971
28 changed files with 7698 additions and 0 deletions

24
Makefile Normal file
View File

@@ -0,0 +1,24 @@
GO=go
NPX=npx
.PHONY: all backend-frontend backend-test frontend-test backend-run frontend-dev clean
all: backend-frontend
backend-frontend: backend-test frontend-test
backend-test:
cd backend && $(GO) test -v ./tests
frontend-test:
cd frontend && $(NPX) vitest run
backend-run:
cd backend && $(GO) run ./cmd/backend
frontend-dev:
cd frontend && $(NPX) vite
clean:
cd backend && rm -rf bin
rm -rf frontend/dist