Commit Graph

19 Commits

Author SHA1 Message Date
TenerifeProp Dev
c426dde185 fix: correct property card template - use 'property' variable consistently
- Fixed undefined 'prop' variable error
- All references now use 'property' variable consistently
- Added slug to all hardcoded properties for navigation
- Fixed template literals for proper variable substitution
2026-04-05 19:45:24 +01:00
TenerifeProp Dev
5a599e24c6 fix: restore original inline CSS styles in HTML files
- Restored full inline styles (~3100 lines CSS) that were lost during CSS extraction
- Removed malformed outer HTML wrapper
- Cleaned up indentation and formatting
- All styles now embedded directly in HTML for proper rendering
- Button styles, navbar, hero section, all components restored
2026-04-05 18:32:47 +01:00
TenerifeProp Dev
77e3c9c629 fix: static files for SPA routes with absolute paths and redirects
- Fixed MIME type errors for CSS/JS in property/admin pages by adding redirect routes
- Updated HTML files to use absolute paths (/css/, /js/) instead of relative (css/, js/)
- Added redirect handlers for SPA static files to main static folders
- Preserved SPA functionality while fixing styling issues
2026-04-05 18:14:18 +01:00
TenerifeProp Dev
b5a8d9733b fix: serve static files correctly before CSRF middleware
- Moved static file serving before CSRF middleware
- Changed CSRF to only apply to /api/* routes
- Fixed MIME type issues for CSS and JS files
- Added explicit routes for .css and .js files
2026-04-05 13:07:37 +01:00
TenerifeProp Dev
86e4b2a31e fix: optional chaining cannot be used for assignment
Fixed syntax error where optional chaining (?.) was used for assignment
in updateStats method. Changed to use if checks for null-protection.
2026-04-05 12:49:10 +01:00
TenerifeProp Dev
33503d4437 fix: property navigation - redirect to property page instead of modal
- Fixed loadProperties function using wrong variables (prop instead of property)
- Added slug field to all hardcoded properties for proper routing
- Changed map marker click to navigate to property page instead of modal
- Fixed property card structure to include proper links and utility icons
2026-04-05 12:47:14 +01:00
TenerifeProp Dev
3f183b2f7e fix: remove malformed outer HTML wrapper from all pages
Removed duplicate DOCTYPE/html/body structure that was wrapping the actual content.
2026-04-05 12:35:39 +01:00
TenerifeProp Dev
eaceb9009b fix: correct SQL placeholder count and rate limit test
- Fixed 46 values for 47 columns error in seed data INSERT statement
- Fixed 'router already built' error in rate limit tests by creating new Hono instance
2026-04-05 12:33:46 +01:00
TenerifeProp Dev
462ab16488 wip: progress updates - CSS extraction done, rate limiting started
- CSS extraction completed (Issue #5) 
- Docker compose updated with mounted volumes for development
- Rate limiting middleware started (Issue #6) - tests failing
- Database recreated with proper schema

Note: Rate limiting test needs fix - router already built error
2026-04-05 12:24:18 +01:00
TenerifeProp Dev
d0e3a87eac refactor: extract CSS into separate files (issue #5)\n\n- Create public/css/base.css with reset and typography\n- Create public/css/components.css with shared UI components\n- Create public/css/pages/home.css for homepage styles\n- Create public/css/pages/property.css for property page styles\n- Create public/css/pages/admin.css for admin panel styles\n- Add CSS variables for badges and text colors\n- Remove inline styles from HTML files\n- Add link tags to HTML files\n- Add CSS extraction tests\n\nCloses #5 2026-04-05 05:46:05 +01:00
TenerifeProp Dev
78ceca412a test: add failing tests for CSS extraction feature 2026-04-05 02:06:42 +01:00
TenerifeProp Dev
503eb8a62f feat: implement property page navigation and security fixes
- Fix XSS vulnerabilities with escapeHtml() utility
- Fix SQL injection in admin endpoints with column whitelisting
- Add CSRF protection middleware
- Remove hardcoded password backdoor
- Implement property navigation functions
- Add test coverage

Closes #9
2026-04-05 01:34:48 +01:00
TenerifeProp Dev
f4b82c8502 feat: add persistent sessions, sitemap docs, and expanded seed data
## Security
- Sessions now stored in SQLite database instead of memory
- Sessions table persists across server restarts
- Auto-cleanup of expired sessions on startup

## Documentation
- Created docs/SITEMAP.md with site navigation map
- Documented user flows and data binding
- Listed all routes and their purposes

## Issue #9 Progress
- Seed data expanded from 3 to 12 properties
- Added English translations (title_en, description_en)
- All major Tenerife cities represented
- Various property types: urban, agricultural, houses, apartments

## Database
- Added title_en, description_en, short_description_en columns
- Deleted old database to reseed with new data
2026-04-05 00:15:48 +01:00
TenerifeProp Dev
1f8a54b566 docs: update ARCHITECTURE.md with current implementation
- Update technology stack with implemented backend
- Mark completed phases
- Add src/server/ and data/ to file structure
- Add validation.ts to structure
2026-04-05 00:07:58 +01:00
TenerifeProp Dev
a341850bc5 docs: add comprehensive API documentation
- Document all public and admin endpoints
- Include request/response examples
- Add validation rules reference
- Document authentication flow
2026-04-05 00:06:34 +01:00
TenerifeProp Dev
abbbce4627 feat: add Zod validation and English translations
- Add validation schemas for all admin endpoints
- Add English (en.json) i18n translations
- Improve input validation using Zod
- Add better error handling for all CRUD operations
2026-04-05 00:06:10 +01:00
TenerifeProp Dev
3bbbb126ab feat: add authentication, admin API, and security improvements
- Add session-based authentication system
- Implement admin CRUD endpoints for properties, leads, testimonials, FAQ, services
- Fix security issue: remove public GET /api/leads endpoint
- Add basic input validation for leads endpoint
- Add global error handler
- Fix Docker healthcheck using bun's fetch
- Add @types/bcrypt dependency
- Add .dockerignore
- Add host reboot prohibition to global rules
2026-04-05 00:01:54 +01:00
TenerifeProp Dev
c1867fe074 feat: implement complete backend with Bun + Hono + SQLite
- Create SQLite database schema with all tables
- Implement REST API endpoints for properties, leads, testimonials, FAQ, services
- Add seed data with sample properties, testimonials, FAQ
- Create Docker configuration for deployment
- Add i18n system for translations
- Add API client for frontend integration
- Create Technical Documentation (TZ.md)
- Add detailed README with deployment instructions

🚀 Project is now fully functional:
- API: http://localhost:8080/api/*
- Properties CRUD with filtering
- Lead management
- Settings, Testimonials, FAQ, Services APIs
- SQLite database with seed data
2026-04-04 22:16:06 +01:00
TenerifeProp Dev
d7a04e8114 feat: initial project structure for TenerifeProp real estate agency
- Set up project architecture with TypeScript types
- Create property, user, lead, and content type definitions
- Add i18n translations (ES, RU)
- Add sample JSON data for properties and leads
- Create comprehensive architecture documentation
- Set up package.json with Bun + Hono stack
2026-04-04 21:58:55 +01:00