Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

A modern web portfolio featuring sleek design, smooth animations, project highlights, and dynamic GitHub integration.

License

Notifications You must be signed in to change notification settings

al7arthy/portfolio

Repository files navigation

🌟 Ahmed Muidh Alharthy - Portfolio

A modern, responsive portfolio website built with React, TypeScript, and cutting-edge web technologies. This portfolio showcases my work as a Software Developer and MIS student, featuring real-time GitHub integration, multilingual support, and a beautiful dark/light theme system.

πŸš€ Live Demo

🌐 View Live Portfolio

✨ Key Features

🌍 Internationalization (i18n)

  • Bilingual Support: Full English and Arabic language support
  • RTL Layout: Proper right-to-left layout for Arabic with logical CSS properties
  • Dynamic Language Switching: Seamless language toggle with persistent storage
  • Tajawal Font Integration: Beautiful Arabic typography using Google Fonts

🎨 Theme System

  • Dark/Light Mode: Elegant theme switching with smooth transitions
  • Persistent Theme: Theme preference saved in localStorage
  • System Integration: Respects user's system theme preferences
  • Smooth Animations: Beautiful fade transitions between themes

πŸ“Š Live GitHub Integration

  • Real-time Data: Dynamic fetching of GitHub profile information
  • Project Showcase: Automatic display of latest repositories
  • GitHub Stats: Live statistics including repositories, stars, and commits
  • Smart Filtering: Intelligent project categorization by language and topics
  • Error Handling: Graceful fallbacks when API is unavailable

🎯 Interactive Navigation

  • Active Section Tracking: Navbar highlights current section based on scroll position
  • Smooth Scrolling: Elegant navigation between sections
  • Mobile Responsive: Collapsible mobile menu with touch-friendly interface

πŸ“± Responsive Design

  • Mobile-First: Optimized for all device sizes
  • Flexible Grid: CSS Grid and Flexbox for perfect layouts
  • Touch Optimized: Enhanced mobile user experience

🎭 Advanced Animations

  • Scroll-Based Animations: Elements animate into view on scroll
  • Staggered Animations: Beautiful cascading effects
  • Hover Effects: Interactive micro-animations
  • Performance Optimized: Smooth 60fps animations

πŸ“¬ Contact Integration

  • Formspree Integration: Working contact form with email notifications
  • Form Validation: Client-side validation for better UX
  • Success/Error States: Clear feedback for form submissions

πŸ› οΈ Tech Stack

Frontend Framework

  • React 19.1.0 - Latest React with concurrent features
  • TypeScript - Type-safe development
  • Vite 7.0.4 - Lightning-fast build tool

Styling & Design

  • TailwindCSS 4.1.11 - Utility-first CSS framework
  • CSS Grid & Flexbox - Modern layout techniques
  • Custom CSS Variables - Dynamic theming
  • FontAwesome Icons - Professional icon library

Internationalization

  • react-i18next 15.6.1 - Complete i18n solution
  • i18next 25.3.2 - Feature-rich internationalization framework

Data Fetching

  • GitHub REST API - Real-time repository and profile data
  • Custom React Hooks - Reusable data fetching logic
  • Error Boundaries - Robust error handling

Typography

  • Google Fonts (Cairo) - Professional Arabic typography
  • @fontsource/cairo - Self-hosted font optimization

Development Tools

  • ESLint - Code quality and consistency
  • TypeScript ESLint - TypeScript-specific linting
  • Vite Dev Server - Hot module replacement

Deployment

  • GitHub Pages - Automated deployment
  • GitHub Actions - CI/CD pipeline
  • Custom Domain - Professional domain setup

πŸ“‚ Project Structure

portfolio/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/          # React components
β”‚   β”‚   β”œβ”€β”€ About.tsx       # About section with GitHub stats
β”‚   β”‚   β”œβ”€β”€ Contact.tsx     # Contact form with Formspree
β”‚   β”‚   β”œβ”€β”€ Footer.tsx      # Footer with social links
β”‚   β”‚   β”œβ”€β”€ Hero.tsx        # Hero section with profile image
β”‚   β”‚   β”œβ”€β”€ Navbar.tsx      # Navigation with active tracking
β”‚   β”‚   β”œβ”€β”€ Projects.tsx    # Dynamic GitHub projects
β”‚   β”‚   └── Services.tsx    # Services showcase
β”‚   β”œβ”€β”€ hooks/              # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ useActiveSection.ts    # Scroll-based navigation
β”‚   β”‚   β”œβ”€β”€ useGitHubProfile.ts    # GitHub profile data
β”‚   β”‚   β”œβ”€β”€ useGitHubProjects.ts   # GitHub repositories
β”‚   β”‚   β”œβ”€β”€ useGitHubStats.ts      # GitHub statistics
β”‚   β”‚   β”œβ”€β”€ useLanguage.ts         # i18n language management
β”‚   β”‚   β”œβ”€β”€ useScrollAnimation.ts  # Scroll-triggered animations
β”‚   β”‚   └── useTheme.ts           # Dark/light theme system
β”‚   β”œβ”€β”€ i18n/               # Internationalization
β”‚   β”‚   β”œβ”€β”€ ar.json         # Arabic translations
β”‚   β”‚   β”œβ”€β”€ en.json         # English translations
β”‚   β”‚   └── index.ts        # i18n configuration
β”‚   β”œβ”€β”€ assets/             # Static assets
β”‚   β”œβ”€β”€ App.tsx            # Main application component
β”‚   β”œβ”€β”€ main.tsx           # Application entry point
β”‚   └── index.css          # Global styles and animations
β”œβ”€β”€ public/                # Public assets
β”œβ”€β”€ dist/                  # Production build output
β”œβ”€β”€ package.json           # Project configuration
β”œβ”€β”€ tsconfig.json         # TypeScript configuration
β”œβ”€β”€ tailwind.config.js    # TailwindCSS configuration
└── vite.config.ts        # Vite configuration

🌟 Features In Detail

GitHub API Integration

The portfolio dynamically fetches data from GitHub to display:

  • Latest repositories with language detection
  • Repository statistics (stars, forks, last updated)
  • Profile information and avatar
  • Commit activity and total contributions

Multilingual Support

Complete internationalization with:

  • Translation files for English and Arabic
  • RTL layout support with logical CSS properties
  • Font optimization for both Latin and Arabic scripts
  • Cultural adaptations in content and layout

Performance Optimizations

  • Code splitting with dynamic imports
  • Image optimization with responsive loading
  • Font preloading for faster text rendering
  • Efficient animations with CSS transforms
  • Bundle optimization with Vite's tree shaking

πŸ“± Browser Support

  • βœ… Chrome (latest)
  • βœ… Firefox (latest)
  • βœ… Safari (latest)
  • βœ… Edge (latest)
  • βœ… Mobile browsers (iOS Safari, Chrome Mobile)

🀝 Contributing

This is a personal portfolio project. While you can view the code for educational purposes, contributions are not accepted as this represents my individual work and branding.

πŸ“„ License

All Rights Reserved - Educational Use Only

This project is the personal portfolio of Ahmed Alharthy. The code is made available for educational and learning purposes only.

Restrictions:

  • ❌ No Commercial Use: This code cannot be used for commercial purposes
  • ❌ No Redistribution: You cannot redistribute, publish, or share this code
  • ❌ No Modification: You cannot modify, adapt, or create derivative works
  • ❌ No Personal Use: You cannot use this code for your own portfolio or projects
  • βœ… Educational Reference Only: You may view the code to learn and understand the implementation

Copyright Notice: Β© 2025 Ahmed Alharthy. All rights reserved. This portfolio represents my personal brand and professional identity.

If you wish to create your own portfolio, please build it from scratch or use open-source templates specifically designed for that purpose.

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

Ahmad Alharthy

  • Built with ❀️ using Node.js and React

⭐ If you found this project helpful, please consider giving it a star!

About

A modern web portfolio featuring sleek design, smooth animations, project highlights, and dynamic GitHub integration.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published