Skip to content

A modern, performance-focused portfolio website built with vanilla JavaScript. Features include dynamic GitHub repository integration, intelligent caching system, responsive design, dark/light theme switching, and progressive enhancement. Built without frameworks to demonstrate core web development principles and modern JavaScript capabilities.

License

Notifications You must be signed in to change notification settings

Greigh/danielhipskind.com

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

73 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Daniel Hipskind's Portfolio & Tools

A comprehensive web platform featuring a personal portfolio website built with Node.js/Express and vanilla JavaScript.

πŸš€ Key Features

Portfolio Website

  • Modern Design: Clean, responsive UI with dark/light theme support
  • GitHub Integration: Real-time project repository display via GitHub API
  • Performance Optimized: Advanced caching, CDN-ready static assets
  • Analytics: Privacy-focused, first-party analytics with opt-in consent
  • Admin Dashboard: Modern unified framework with real-time monitoring and glass morphism design

Infrastructure & Security

  • Secure Admin Access: Multi-layer authentication (nginx basic auth + app-level tokens)
  • Redis Integration: Session management and caching layer
  • Rate Limiting: GitHub API proxy with intelligent retry/backoff
  • Security Headers: Helmet.js, CORS, CSP implementation
  • Automated Deployment: Robust deployment pipeline with health checks

πŸ› οΈ Tech Stack

Backend

  • Runtime: Node.js with ES modules
  • Framework: Express.js with modern middleware
  • Session Store: Redis for scalable session management
  • Process Manager: PM2 for production deployment
  • Reverse Proxy: Nginx for static assets and SSL termination

Frontend

  • Core: Vanilla JavaScript (ES6+), CSS3, HTML5
  • Build Tools: Custom webpack-based build system and Shell scripts
  • PWA Features: Service workers, app manifest, offline capability
  • UI Framework: Custom CSS with CSS Grid/Flexbox, responsive design
  • Admin Framework: Unified glass morphism design system with CSS variables and real-time components

APIs & Integration

  • GitHub API: Custom proxy with retry/backoff and caching
  • Analytics: First-party analytics with Redis storage and file persistence
  • Admin Interface: Multi-dashboard system with real-time monitoring, unified authentication, and comprehensive log management

Infrastructure

  • Caching: Redis + in-memory fallback for multi-instance deployments
  • Security: Helmet.js, CORS, rate limiting, secure headers
  • Monitoring: Health checks, request logging, error tracking
  • Deployment: Automated pipeline with artifact verification

πŸ“ Project Structure

β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ admin/                # Admin dashboard interface
β”‚   β”‚   β”œβ”€β”€ admin-framework.css  # Unified CSS framework with glass morphism
β”‚   β”‚   β”œβ”€β”€ index.html        # Main dashboard with real-time monitoring
β”‚   β”‚   β”œβ”€β”€ analytics.html    # Enhanced analytics dashboard
β”‚   β”‚   β”œβ”€β”€ login.html        # Modern authentication interface
β”‚   β”‚   └── logs.html         # Complete log management system
β”‚   β”œβ”€β”€ assets/               # Core static assets
β”‚   β”‚   β”œβ”€β”€ css/             # Stylesheets and components
β”‚   β”‚   β”œβ”€β”€ js/              # Client-side JavaScript modules
β”‚   β”‚   β”œβ”€β”€ images/          # Images and icons
β”‚   β”‚   └── manifest.json    # PWA manifest
β”‚   └── index.html           # Main portfolio page
β”‚
β”œβ”€β”€ logs/                    # Application logs (not in repo)
β”‚   β”œβ”€β”€ analytics-*.log      # Daily analytics logs
β”‚   └── combined.log         # Application logs
β”‚
└── README.md               # This file

Key Files (Not in Repository)

  • server.js - Main Express application server
  • ecosystem.config.cjs - PM2 process configuration
  • deploy.sh - Automated deployment script
  • nginx/ - Nginx configuration files
  • scripts/ - Utility and maintenance scripts
  • .env.production - Production environment variables

οΏ½ Key Features Detail

Analytics System

  • Privacy-First: First-party analytics with explicit user opt-in
  • Data Storage: Dual persistence (Redis + daily rotating log files)
  • Modern Admin Framework: Unified glass morphism design system with CSS variables
  • Real-time Dashboards: Auto-refreshing interfaces with 30-second update intervals
  • Enhanced UI/UX: Professional admin interface with responsive design and dark mode
  • Export Formats: JSON (cursor-based pagination), CSV (streaming), RSS feeds
  • Session Management: Redis-backed admin sessions with secure token handling

Advanced Admin System

  • Unified Design Framework: Custom CSS framework with glass morphism effects and consistent styling
  • Multi-dashboard Architecture: Main dashboard, analytics, logs viewer, and authentication interfaces
  • Real-time Monitoring: Live system health scoring with intelligent status indicators
  • Log Management System: Complete log viewer with filtering, export, and real-time streaming
  • Cross-dashboard Navigation: Seamless navigation with breadcrumb system and quick actions
  • Health Scoring Algorithm: Intelligent system health calculation based on multiple metrics

GitHub Integration

  • Smart Caching: Multi-layer caching with Redis and memory fallback
  • Rate Limit Handling: Intelligent retry logic with exponential backoff
  • Error Recovery: Graceful degradation when API limits are reached
  • Real-time Updates: Dynamic repository display with live commit data

Security & Performance

  • Multi-layer Auth: Nginx basic auth + Express middleware + Redis sessions
  • Request Caching: Conditional caching with smart TTL management
  • Security Headers: Comprehensive CSP, HSTS, and security middleware
  • Health Monitoring: Application health checks and error logging

οΏ½ Development Tools & Environment

Build System

  • Asset Processing: Automatic file hashing, compression, and optimization
  • Development Server: Hot-reload development environment
  • Build Verification: Automated artifact checking and validation

Deployment Pipeline

  • Automated Deploy: One-command deployment with health checks
  • SSH Security: Key-based authentication with ssh-agent integration
  • Build Validation: Pre-deployment artifact verification
  • Health Monitoring: Post-deployment service validation

Development Stack

  • Node.js: JavaScript runtime environment
  • Express.js: Web application framework
  • Redis: In-memory data structure store
  • PM2: Production process manager
  • Nginx: High-performance web server and reverse proxy

Recommended Development Tools

  • VSCode: Primary development environment
  • ForkLift 4: Advanced file management (macOS)
  • Core Shell: Modern terminal experience (macOS)
  • Chrome: Feature-rich browser for testing

Music for Coding 🎡

  • Spotify: Background music and focus playlists

🌐 Live Deployment

πŸ‘€ Author

Daniel Hipskind - Full-Stack Software Engineer

πŸ“„ License

This project is licensed under the BSD 3-Clause License. See the LICENSE file for complete details.

πŸ“‹ License Summary

Permissions βœ…

  • βœ… Commercial use
  • βœ… Modification
  • βœ… Distribution
  • βœ… Private use

Conditions ❗

  • ❗ License and copyright notice must be included
  • ❗ Cannot use contributors' names for endorsement

Limitations ❌

  • ❌ No liability
  • ❌ No warranty

🀝 Usage Guidelines

  1. Attribution Required: Retain original copyright notice and license text
  2. No Endorsement: Don't use author's name to promote derivative works
  3. Commercial Use: Permitted with proper attribution
  4. Modifications: Allowed, but must maintain license terms

For commercial use or questions about licensing, please contact me.

🀝 Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues page.

Contributing Guidelines

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Code Standards

  • Follow existing code style and conventions
  • Update documentation for any new features
  • Test your changes thoroughly
  • Keep commits atomic and well-described

οΏ½ Support & Contact


⭐ Star this repository if you found it helpful!

Project Repository: https://github.com/Greigh/danielhipskind.com

About

A modern, performance-focused portfolio website built with vanilla JavaScript. Features include dynamic GitHub repository integration, intelligent caching system, responsive design, dark/light theme switching, and progressive enhancement. Built without frameworks to demonstrate core web development principles and modern JavaScript capabilities.

Topics

Resources

License

Stars

Watchers

Forks