Skip to content

High-Performance Luxury Real Estate Concept. A cinematic UI/UX prototype simulating Headless Architecture with Gold Neon aesthetics.

Notifications You must be signed in to change notification settings

DominDev/DominDev-Neon-Estate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

82 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Neon Estate | Luksusowa Architektura Premium

"Architektura... W Nowym Świetle"

License: ISC Node.js ES Modules

Profesjonalna strona konceptualna dla luksusowej agencji nieruchomoΕ›ci premium, Ε‚Δ…czΔ…ca wizualnΔ… elegancjΔ™ z wydajnoΕ›ciΔ… na poziomie production.

Demo Β· Dokumentacja Β· Deployment


πŸ“‹ Spis TreΕ›ci


πŸ’Ž O Projekcie

Neon Estate to zaawansowany koncept strony internetowej dla agencji nieruchomoΕ›ci luksusowych, zaprojektowany z naciskiem na:

  • Performance First: Optymalizacja wydajnoΕ›ci (PageSpeed 90+)
  • Visual Excellence: Minimalistyczny design w stylu "Quiet Luxury"
  • AI Integration: Generator konceptΓ³w architektonicznych powered by Google Gemini AI
  • Production Ready: PeΕ‚na architektura backend (Node.js + Express) gotowa do wdroΕΌenia

Projekt demonstruje nowoczesne podejΕ›cie do web developmentu, Ε‚Δ…czΔ…c:

  • Responsive Images (AVIF/WebP/JPEG) z automatycznΔ… optymalizacjΔ…
  • Lazy Loading z IntersectionObserver API
  • BezpiecznΔ… integracjΔ™ AI z rate limitingiem i XSS protection
  • SEO-friendly strukturΔ™ z Schema.org markup

🌟 Kluczowe Funkcje

Frontend

  • ✨ AI Atelier - Generator konceptΓ³w architektonicznych z wykorzystaniem Gemini API
  • 🎬 Cinematic UX - PΕ‚ynne animacje (Intersection Observer, Progressive Reveal)
  • 🎨 Minimalist Luxury Design - Czarny gradient, zΕ‚ote akcenty, neonowe linie
  • πŸ–±οΈ Custom Cursor - Interaktywny kursor "Diamond Precision" z animacjami
  • πŸ“± Mobile First - PeΕ‚na responsywnoΕ›Δ‡ z dedykowanym menu mobilnym
  • πŸ–ΌοΈ Responsive Images - AVIF + WebP + JPEG fallback (70-94% kompresja)
  • ⚑ Lazy Loading - Inteligentne Ε‚adowanie obrazΓ³w i animacji
  • β™Ώ Accessibility - ARIA labels, semantic HTML, skip links

Backend (AI Atelier)

  • πŸ€– Google Gemini AI - Generowanie konceptΓ³w architektonicznych
  • πŸ”’ Security - DOMPurify XSS protection, Helmet, CORS, Rate Limiting
  • πŸ“Š Input Validation - Frontend + backend sanitization
  • βš™οΈ Environment Config - Centralna konfiguracja z .env
  • πŸš€ Deployment Ready - Gotowy do wdroΕΌenia na Vercel/Heroku/Railway

Performance Optimizations

  • CSS Minification (29% redukcja rozmiaru)
  • Image Optimization (84 warianty, 4 rozmiary Γ— 3 formaty)
  • Git Hooks dla automatycznej minifikacji
  • DNS prefetch i preconnect dla external resources

πŸ› οΈ Stack Technologiczny

Frontend

HTML5             - Semantic markup, ARIA accessibility
CSS3              - Variables, Grid, Flexbox, Animations
JavaScript ES6+   - Vanilla JS, Async/Await, Modules

Backend

Node.js v18+      - Runtime environment
Express.js        - Web framework
Google Gemini AI  - AI concept generation
DOMPurify         - XSS protection
Helmet            - Security headers
Express Rate Limit - API rate limiting

DevOps & Tools

Sharp             - Image optimization (AVIF, WebP)
Git Hooks         - Pre-commit CSS minification
npm Scripts       - Build automation
Environment Config - .env management

SEO & Performance

Schema.org JSON-LD - Structured data
Open Graph         - Social media optimization
Twitter Cards      - Rich social previews
Sitemap.xml        - Search engine indexing
robots.txt         - Crawler configuration

πŸš€ Szybki Start

Wymagania

  • Node.js v18.0.0 lub wyΕΌszy
  • npm (doΕ‚Δ…czony do Node.js)
  • Git (opcjonalnie)

Instalacja

  1. Sklonuj repozytorium

    git clone https://github.com/DominDev/DominDev-Neon-Estate.git
    cd DominDev-Neon-Estate
  2. Zainstaluj zaleΕΌnoΕ›ci

    npm install
  3. Skonfiguruj environment (opcjonalnie, jeΕ›li uΕΌywasz AI Atelier)

    cp .env.example .env

    Edytuj .env i dodaj swΓ³j Gemini API Key:

    GEMINI_API_KEY=your_api_key_here
    NODE_ENV=development
    PORT=3000
    ALLOWED_ORIGINS=http://localhost:5501
  4. Uruchom backend (opcjonalnie, dla AI Atelier)

    npm run dev

    Backend bΔ™dzie dostΔ™pny na: http://localhost:3000

  5. Uruchom frontend

    • OtwΓ³rz index.html w przeglΔ…darce, lub
    • UΕΌyj Live Server (VS Code extension)
    • Lub uruchom lokalny serwer HTTP:
      npx http-server -p 5501

πŸ“‚ Struktura Projektu

DominDev-Neon-Estate/
β”‚
β”œβ”€β”€ πŸ“ api/                          # Backend Node.js + Express
β”‚   β”œβ”€β”€ config/
β”‚   β”‚   └── env.js                   # Environment configuration
β”‚   β”œβ”€β”€ middleware/
β”‚   β”‚   β”œβ”€β”€ error-handler.js         # Global error handling
β”‚   β”‚   β”œβ”€β”€ rate-limiter.js          # Rate limiting (10 req/15min)
β”‚   β”‚   └── validator.js             # Input validation
β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   └── ai-atelier.js            # AI generation endpoints
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   β”œβ”€β”€ http-client.js           # Fetch with timeout
β”‚   β”‚   └── sanitizer.js             # XSS protection
β”‚   β”œβ”€β”€ server.js                    # Main server file
β”‚   └── README.md                    # Backend docs
β”‚
β”œβ”€β”€ πŸ“ assets/
β”‚   β”œβ”€β”€ css/
β”‚   β”‚   β”œβ”€β”€ style.css                # Main stylesheet (69 KB)
β”‚   β”‚   └── style.min.css            # Minified (49 KB) [-29%]
β”‚   β”œβ”€β”€ js/
β”‚   β”‚   └── main.js                  # Main logic (974 lines)
β”‚   β”œβ”€β”€ images/
β”‚   β”‚   β”œβ”€β”€ originals/               # Source images (ignored in git)
β”‚   β”‚   β”œβ”€β”€ *-400.avif/webp/jpg     # Mobile optimized
β”‚   β”‚   β”œβ”€β”€ *-800.avif/webp/jpg     # Tablet optimized
β”‚   β”‚   β”œβ”€β”€ *-1200.avif/webp/jpg    # Desktop optimized
β”‚   β”‚   └── *-1600.avif/webp/jpg    # HiDPI optimized
β”‚   └── fonts/                       # (Optional custom fonts)
β”‚
β”œβ”€β”€ πŸ“ _scripts/                     # Development scripts
β”‚   β”œβ”€β”€ optimize-images.js           # Sharp image optimization
β”‚   β”œβ”€β”€ minify-css.js                # CSS minification
β”‚   β”œβ”€β”€ auto-minify-css.js           # Watch mode minification
β”‚   β”œβ”€β”€ setup-git-hooks.js           # Git pre-commit hooks
β”‚   β”œβ”€β”€ snapshot-structure.ps1       # Project structure snapshot
β”‚   β”œβ”€β”€ snapshot-code.ps1            # Code backup snapshot
β”‚   └── README.md                    # Scripts documentation
β”‚
β”œβ”€β”€ πŸ“ _docs/                        # Technical documentation
β”‚   β”œβ”€β”€ technical-documentation.md   # Main tech docs
β”‚   β”œβ”€β”€ guide-mcp-setup.md          # MCP setup guide
β”‚   β”œβ”€β”€ guide-seo-configuration.md  # SEO customization
β”‚   β”œβ”€β”€ report-image-optimization.md # Image optimization report
β”‚   β”œβ”€β”€ changelog-seo.md            # SEO changes log
β”‚   └── notes-manual-tasks.md       # Manual task checklist
β”‚
β”œβ”€β”€ πŸ“„ index.html                    # Main HTML file
β”œβ”€β”€ πŸ“„ robots.txt                    # SEO crawler rules
β”œβ”€β”€ πŸ“„ sitemap.xml                   # SEO sitemap
β”œβ”€β”€ πŸ“„ package.json                  # Dependencies & scripts
β”œβ”€β”€ πŸ“„ .env.example                  # Environment template
β”œβ”€β”€ πŸ“„ .gitignore                    # Git ignore rules
β”œβ”€β”€ πŸ“„ vercel.json                   # Vercel deployment config
└── πŸ“„ README.md                     # This file


⚑ WydajnoΕ›Δ‡

Image Optimization Results

Image Original AVIF WebP JPEG OszczΔ™dnoΕ›Δ‡
about-bg.jpg 214.6 KB 91% 93% 92% ~195 KB
portfolio-penthouse.jpg 108.3 KB 70% 78% 78% ~85 KB
og-image.png 53.6 KB 94% 93% 91% ~49 KB

Total: 84 image variants wygenerowanych (7 obrazΓ³w Γ— 4 rozmiary Γ— 3 formaty) Total savings: ~3.6 MB dla wszystkich obrazΓ³w

CSS Optimization

Original:  69.54 KB (style.css)
Minified:  49.40 KB (style.min.css)
Saved:     20.14 KB (-29.15%)

PageSpeed Insights (Estimated)

  • Performance: 90+
  • Accessibility: 95+
  • Best Practices: 90+
  • SEO: 100

πŸ”’ BezpieczeΕ„stwo

Implemented Security Measures

βœ… XSS Protection

  • DOMPurify sanitization (backend)
  • Secure innerHTML usage
  • Content Security Policy headers (Helmet)

βœ… CSRF Protection

  • Origin validation
  • CORS configuration
  • Rate limiting

βœ… Input Validation

  • Frontend validation
  • Backend sanitization
  • SQL injection prevention

βœ… API Security

  • Environment variables dla API keys
  • Rate limiting (10 requests/15min)
  • Timeout handling (45s)
  • AbortController dla request cancellation

βœ… HTTP Security Headers (Helmet)

  • X-Content-Type-Options: nosniff
  • Referrer-Policy: strict-origin-when-cross-origin
  • Permissions-Policy

πŸ“š Dokumentacja

GΕ‚Γ³wne Dokumenty

NPM Scripts

# Development
npm run dev                   # Start backend z auto-reload

# Testing (MCP)
npm test                      # Wszystkie testy MCP
npm run test:browser          # Browser MCP - basic test
npm run test:browser:seo      # SEO audit test
npm run test:browser:perf     # Performance test
npm run test:combined:full    # Complete audit

# Production
npm start                     # Start backend (production mode)

Development Scripts

# Image Optimization
node _scripts/optimize-images.js

# CSS Minification
node _scripts/minify-css.js                    # One-time minify
node _scripts/auto-minify-css.js --watch       # Watch mode

# Git Hooks
node _scripts/setup-git-hooks.js               # Install pre-commit hooks
node _scripts/setup-git-hooks.js uninstall     # Remove hooks

πŸš€ Deployment

Frontend (Static)

Vercel / Netlify / GitHub Pages

# Build nie jest wymagany - pure static files
# Po prostu deploy caΕ‚ego projektu

# Opcjonalnie: minifikacja CSS przed deploymentem
node _scripts/minify-css.js

Backend (AI Atelier)

Vercel (Recommended)

npm install -g vercel
vercel login
vercel

# Add environment variables w Vercel dashboard:
# GEMINI_API_KEY=your_key
# NODE_ENV=production
# ALLOWED_ORIGINS=https://your-domain.com

Heroku

heroku create neon-estate-api
heroku config:set GEMINI_API_KEY=your_key
heroku config:set NODE_ENV=production
git push heroku main

Railway.app

# Deploy przez Railway dashboard
# 1. Connect GitHub repo
# 2. Add environment variables
# 3. Deploy automatically

VPS (Node.js)

# Install PM2
npm install -g pm2

# Start server
pm2 start api/server.js --name neon-estate

# Setup auto-restart
pm2 startup
pm2 save

πŸ“– SzczegΓ³Ε‚owa dokumentacja deployment: Zobacz api/README.md


🀝 Contributing

Contributions, issues, and feature requests are welcome!

Proces Contribution

  1. Fork projektu
  2. StwΓ³rz feature branch (git checkout -b feature/AmazingFeature)
  3. Commit zmian (git commit -m 'Add some AmazingFeature')
  4. Push do brancha (git push origin feature/AmazingFeature)
  5. OtwΓ³rz Pull Request

Code Style Guidelines

  • ES Modules - UΕΌywaj import/export (nie require())
  • Naming Convention - camelCase dla zmiennych/funkcji, PascalCase dla klas
  • Comments - JSDoc dla funkcji publicznych
  • Formatting - Prettier/ESLint config (TODO: dodaΔ‡)

πŸ“ Licencja

ISC License Β© 2025 Neon Estate Concept

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.


πŸ‘¨β€πŸ’» Autor

Concept & Development by DominDev

  • Senior Fullstack Developer & UI/UX Designer
  • Focus: High-Performance Web & Brand Identity
  • Portfolio: domindev.com

πŸ™ Acknowledgments

  • Google Gemini AI - AI concept generation
  • Sharp - Image optimization library
  • Font Awesome - Icon library
  • Google Fonts - Playfair Display & Manrope fonts
  • Unsplash - High-quality stock photography

⭐ Star this repo if you find it useful!

Made with ❀️ and β˜• by DominDev

About

High-Performance Luxury Real Estate Concept. A cinematic UI/UX prototype simulating Headless Architecture with Gold Neon aesthetics.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published