juanatsap
7b60fdcf9c
refactor: Separate CV domain and UI presentation models into distinct packages
...
**Main Changes:**
1. **Package Restructuring** - Separated mixed concerns into focused packages:
- Created `internal/models/cv/` for CV domain logic (CV, Personal, Experience, etc.)
- Created `internal/models/ui/` for UI presentation logic (InfoModal, ShortcutsModal, etc.)
- Removed monolithic `internal/models/cv.go` (300+ lines → organized packages)
2. **Testing** - Added comprehensive unit tests:
- `internal/models/cv/loader_test.go` - CV data loading and validation
- `internal/models/ui/loader_test.go` - UI translations loading
- All tests passing ✅
3. **Documentation** - Added Go learning knowledge base:
- `_go-learning/architecture/server-design.md` - Goroutines, graceful shutdown explained
- `_go-learning/refactorings/001-cv-model-separation.md` - This refactoring documented
- Public documentation showcasing Go expertise (README.md kept private)
4. **Handler Updates** - Updated imports to use new package structure:
- `internal/handlers/cv.go` - Uses `cvmodel` and `uimodel` aliases
**Benefits:**
- ✅ Clear separation of concerns (domain vs presentation)
- ✅ Better testability (isolated package testing)
- ✅ Improved maintainability (smaller, focused files)
- ✅ Scalability (each domain can evolve independently)
- ✅ Follows Go best practices (small, cohesive packages)
**Other Updates:**
- Updated middleware security checks
- Template improvements
- Organized completed prompts
**Testing:**
- All Go unit tests pass (cv, ui, handlers)
- Server verified with curl tests (English, Spanish, Health endpoints)
- Frontend functionality unchanged (refactoring is transparent to UI)
2025-11-20 16:17:56 +00:00
juanatsap
f7cda5dba3
refactor: Modularize CSS and fix theme-aware text colors
...
CSS Restructuring:
- Reorganize monolithic main.css into modular architecture
- Create foundation/ (reset, variables, typography, themes)
- Create layout/ (container, page, grid, paper)
- Create components/ (8 component files)
- Create interactive/ (toggles, remaining for future split)
- Create effects/ (skeleton loading)
- Create contexts/ (print styles)
Theme Support Fixes:
- Replace all hardcoded text colors with CSS variables
- Fix .section-title: rgb(51,51,51) → var(--text-primary)
- Fix .cv-name, .intro-text: hardcoded → theme-aware
- Fix .experience-period, .duration-text: #555/#aaa → variables
- Fix course/project/experience text colors
- Support proper light/dark theme text contrast
Icon & Layout Fixes:
- Standardize all icon sizes to 80×80px
- Change all icon backgrounds to transparent
- Fix award section layout (missing flexbox)
- Update HTML templates (experience.html, awards.html) to width='80'
- Fix default icon sizing conflicts
View Switcher Fix:
- Fix toggleTheme() to target .cv-container instead of body
- Ensures clean/default theme toggle works correctly
Files: 40+ CSS files modularized, 3 templates updated, 7 tests added
2025-11-19 14:31:17 +00:00
juanatsap
e932716132
chore: clean up temporary implementation artifacts
...
- Added gitignore patterns for implementation summaries, test scripts, and coverage reports
- Removed obsolete cache implementation documentation files
2025-11-12 09:14:46 +00:00
juanatsap
1f5aeb1c4c
feat: exclude PSD files from version control
2025-11-11 13:53:14 +00:00
juanatsap
0e52d625a1
refactor: remove API documentation files and add binary to gitignore
...
- Removed redundant API documentation (API.md and API-QUICK-REFERENCE.md)
- Added cv-app binary to gitignore to prevent committing build artifacts
2025-11-09 20:48:24 +00:00
juanatsap
dab68f34f2
Initial commit: Go + HTMX CV Site
...
- Minimal, professional CV design with paper-on-gray layout
- Bilingual support (Spanish/English) with HTMX language switching
- JSON-based content management (cv-en.json, cv-es.json)
- Print-optimized CSS for PDF export
- Responsive design for all devices
- Go backend with stdlib net/http
- Clean, maintainable codebase
Features:
- 18+ years professional experience
- SAP CDC expertise
- Complete project history
- Education, certifications, awards
- Multi-language support
Tech stack: Go, HTMX, vanilla CSS
2025-10-20 08:54:21 +01:00