Skip to content

cesalberca/blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

César Alberca's Personal Website

A modern, internationalized personal website and blog built with cutting-edge web technologies. Features a beautiful design, dark mode support, and a photography gallery.

🚀 Features

  • Blog Platform: Write and share articles with MDX support
  • Photography Gallery: Showcase photos with fullscreen view
  • Internationalization: Full support for English and Spanish
  • Dark Mode: Beautiful dark mode implementation
  • Modern Design: Clean, responsive layout with Tailwind CSS
  • Performance Optimized: Built with Next.js and optimized for speed
  • Analytics: Integrated with Vercel Analytics and Speed Insights

🛠 Tech Stack

📂 Project Structure

src/
├── app/                 # Next.js app router pages
├── components/         # Shared UI components
├── core/              # Core functionality
│   ├── components/    # Core components
│   └── i18n/         # Internationalization setup
├── features/         # Feature-based modules
│   ├── blog/         # Blog feature
│   ├── photography/  # Photography gallery
│   └── ...          # Other features
└── lib/             # Utility functions

🌟 Architecture Highlights

  • Feature-based Architecture: Organized around business domains
  • Clean Architecture Principles: Following hexagonal architecture patterns
  • Domain-Driven Design: Strong separation of concerns
  • Internationalization: Full i18n support with locale-based routing
  • Type Safety: Strict TypeScript configuration
  • Component Architecture: Reusable, composable components

🚀 Getting Started

  1. Clone the repository:

    git clone https://github.com/cesalberca/blog.git
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm start
  4. Build for production:

    npm run build

📸 Photography Gallery

The photography gallery supports:

  • Responsive grid layout
  • Fullscreen view
  • Image optimization
  • EXIF data extraction
  • Keyboard navigation
  • Beautiful hover effects

Photos should be placed in public/assets/images/photography following the naming convention:

YYYYMMDD-description-of-photo.jpg

🌐 Internationalization

The site supports multiple languages with URL-based locale switching:

  • 🇬🇧 English: /en/*
  • 🇪🇸 Spanish: /es/*

📝 License

  • Website Content: © César Alberca
  • Code: MIT License
  • Articles: Custom License (see LICENSE-articles)
  • Code Snippets: Custom License (see LICENSE-code-snippets)

🤝 Contributing

Contributions are welcome! Please read the contributing guidelines before submitting a PR.

📫 Contact