A modern, internationalized personal website and blog built with cutting-edge web technologies. Features a beautiful design, dark mode support, and a photography gallery.
- 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
- Framework: Next.js 15
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components:
- Internationalization: next-intl
- Animation: Framer Motion
- Content: MDX
- Code Quality:
- Testing: Jest
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
- 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
-
Clone the repository:
git clone https://github.com/cesalberca/blog.git
-
Install dependencies:
npm install
-
Start the development server:
npm start
-
Build for production:
npm run build
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
The site supports multiple languages with URL-based locale switching:
- 🇬🇧 English:
/en/*
- 🇪🇸 Spanish:
/es/*
- Website Content: © César Alberca
- Code: MIT License
- Articles: Custom License (see LICENSE-articles)
- Code Snippets: Custom License (see LICENSE-code-snippets)
Contributions are welcome! Please read the contributing guidelines before submitting a PR.
- Website: cesalberca.com
- Email: [email protected]
- Twitter: @cesalberca
- LinkedIn: César Alberca