Geovanny Cordero Portfolio Website

A modern, responsive portfolio website built with Next.js 15, TypeScript, and Tailwind CSS. This project showcases Geovanny Cordero's professional experience, skills, and blog content in a clean, accessible design.
๐ Features
- Modern Tech Stack: Built with Next.js 15, React 19, and TypeScript
- Responsive Design: Mobile-first approach with Tailwind CSS
- Blog System: Markdown-based blog with RSS feed support
- Performance Optimized: Static site generation with Next.js export
- Accessibility: WCAG compliant with proper semantic HTML
- Testing: Comprehensive test coverage with Jest and React Testing Library
- SEO Optimized: Meta tags, Open Graph, and structured data
- Dark/Light Theme: Theme switching capability
- Contact Form: Interactive contact section with form validation
๐ ๏ธ Tech Stack
Frontend
- Next.js 15 - React framework with App Router
- React 19 - UI library
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- Radix UI - Accessible component primitives
- Lucide React - Icon library
- ESLint - Code linting
- Prettier - Code formatting
- Jest - Testing framework
- React Testing Library - Component testing
- PostCSS - CSS processing
Content Management
- Markdown - Blog post content
- Gray Matter - Front matter parsing
- Remark - Markdown processing
๐ Project Structure
โโโ app/ # Next.js App Router
โ โโโ blog/ # Blog pages and components
โ โโโ globals.css # Global styles
โ โโโ layout.tsx # Root layout
โ โโโ page.tsx # Home page
โโโ components/ # Reusable components
โ โโโ ui/ # UI components (buttons, cards, etc.)
โ โโโ about.tsx # About section
โ โโโ contact.tsx # Contact form
โ โโโ hero.tsx # Hero section
โ โโโ ... # Other sections
โโโ content/ # Blog content (Markdown files)
โโโ lib/ # Utility functions
โโโ public/ # Static assets
โโโ __tests__/ # Test files
๐ Getting Started
Prerequisites
Installation
- Clone the repository:
git clone https://github.com/geovannycordero/geovannycordero.github.io.git
cd geovannycordero.github.io
- Install dependencies:
yarn install
# or
npm install
- Run the development server:
yarn dev
# or
npm run dev
- Open http://localhost:3000 in your browser.
๐ Available Scripts
yarn dev
- Start development server
yarn build
- Build for production
yarn start
- Start production server
yarn lint
- Run ESLint
yarn lint:fix
- Fix ESLint errors
yarn format
- Format code with Prettier
yarn test
- Run tests
yarn test:watch
- Run tests in watch mode
yarn test:coverage
- Generate test coverage report
๐งช Testing
The project includes comprehensive testing setup:
- Jest as the test runner
- React Testing Library for component testing
- Coverage thresholds set to 70% for all metrics
- Test files located in
__tests__/
directories
Run tests:
yarn test # Run all tests
yarn test:watch # Run tests in watch mode
yarn test:coverage # Generate coverage report
๐จ Styling
- Tailwind CSS for utility-first styling
- Custom color palette with emerald and sage themes
- Responsive design with mobile-first approach
- CSS animations and transitions
- Typography optimized for readability
๐ฑ Responsive Design
The website is fully responsive with:
- Mobile-first design approach
- Breakpoint-based layouts
- Touch-friendly interactions
- Optimized for all device sizes
โฟ Accessibility
- WCAG 2.1 AA compliance
- Semantic HTML structure
- ARIA labels and roles
- Keyboard navigation support
- Screen reader compatibility
- Color contrast compliance
๐ง Configuration
Next.js Config
- Static export enabled for GitHub Pages deployment
- Image optimization disabled for static hosting
- ESLint and TypeScript errors ignored during build
Tailwind Config
- Custom color palette
- Typography plugin integration
- Animation keyframes
- Responsive breakpoints
TypeScript Config
- Strict mode enabled
- Path aliases configured
- ES5 target for broad compatibility
- Static Site Generation for optimal performance
- Image optimization with WebP and AVIF support
- Code splitting and lazy loading
- Minified output in production
- Compression enabled
๐ Deployment
The project is configured for static hosting (GitHub Pages):
- Build the project:
yarn build
- The static files will be generated in the
docs/
directory
- Deploy the contents of
docs/
to your hosting provider
GitHub Pages
- Configured for root domain deployment
- Static export enabled
- Trailing slash support
๐ Blog System
The blog system supports:
- Markdown content with front matter
- RSS feed generation
- SEO optimization for each post
- Category organization
- Date-based routing
๐ค Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
)
- Commit your changes (
git commit -m 'Add amazing feature'
)
- Push to the branch (
git push origin feature/amazing-feature
)
- Open a Pull Request
This project is licensed under the MIT License.
๐จโ๐ป Author
Geovanny Cordero Valverde
- Full-Stack Software Engineer
- Based in San Josรฉ, Costa Rica
- 5+ years of experience in software development
- Specializing in Golang, Ruby on Rails, and JavaScript technologies
๐ Links
Built with โค๏ธ using Next.js, React, and Tailwind CSS