Skip to content

Msr7799/my-portfolio

Repository files navigation

Portfolio Website - Mohamed Alromaihi

Portfolio Preview

Next.js TypeScript React Tailwind CSS Framer Motion

πŸš€ About

A modern, responsive portfolio website showcasing my journey as a Full-Stack Developer. Built with cutting-edge technologies and featuring stunning animations, interactive 3D elements, and a bilingual interface (English & Arabic).

✨ Key Features

  • 🎨 Modern Design: Premium glassmorphism effects, gradient backgrounds, and smooth animations
  • 🌐 Bilingual Support: Full RTL support for Arabic and English languages
  • πŸ“± Fully Responsive: Optimized for all devices from mobile to desktop
  • ⚑ Performance Optimized: Built with Next.js 15 for lightning-fast loading
  • 🎭 Interactive 3D Elements:
    • Rotating tech icons around profile picture
    • Interactive 3D Icon Cloud with Fibonacci sphere distribution
    • Smooth drag and auto-rotation effects
  • πŸŒ™ Dark Mode: Eye-friendly dark theme throughout
  • πŸ“Š Dynamic Sections:
    • Hero with typing animation
    • Animated timeline journey
    • Skills showcase with category filters
    • Project gallery
    • Contact form with email integration
  • 🎬 Premium Animations: Using Framer Motion for fluid transitions
  • πŸ”₯ Preloader: Engaging tech stack showcase with developer facts

πŸ› οΈ Tech Stack

Frontend

  • Framework: Next.js 15.1.6 (React 19)
  • Language: TypeScript 5
  • Styling: Tailwind CSS 3.4
  • Animations: Framer Motion 11.18
  • Icons: Lucide React

Build Tools

  • Package Manager: pnpm
  • Development: Next.js Development Server
  • Production: Vercel (Recommended)

Key Libraries

  • next-intl: Internationalization (i18n) for bilingual support
  • framer-motion: Advanced animations and transitions
  • lucide-react: Modern icon library
  • Custom 3D Icon Cloud component with canvas rendering

πŸ“¦ Installation

  1. Clone the repository
git clone https://github.com/Msr7799/my-portfolio.git
cd my-portfolio
  1. Install dependencies
pnpm install
  1. Run the development server
pnpm dev
  1. Open your browser
http://localhost:3000

πŸ—οΈ Build & Deployment

Development Build

pnpm dev

Production Build

pnpm build
pnpm start

Deploy to Vercel

Deploy with Vercel

The easiest way to deploy is using Vercel:

  1. Push your code to GitHub
  2. Import the project to Vercel
  3. Vercel will auto-detect Next.js and deploy

πŸ“‚ Project Structure

my-portfolio/
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ assets/
β”‚   β”‚   β”œβ”€β”€ tech/          # Technology icons
β”‚   β”‚   β”œβ”€β”€ My-pics/       # Profile images
β”‚   β”‚   └── projects/      # Project images
β”‚   └── locales/           # i18n translations (ar, en)
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/               # Next.js App Router
β”‚   β”œβ”€β”€ components/        # React components
β”‚   β”‚   β”œβ”€β”€ ui/           # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ HeroSection.tsx
β”‚   β”‚   β”œβ”€β”€ About.tsx
β”‚   β”‚   β”œβ”€β”€ SkillsSection.tsx
β”‚   β”‚   β”œβ”€β”€ ProjectsSection.tsx
β”‚   β”‚   β”œβ”€β”€ TimelineSection.tsx
β”‚   β”‚   β”œβ”€β”€ ContactSection.tsx
β”‚   β”‚   β”œβ”€β”€ Footer.tsx
β”‚   β”‚   β”œβ”€β”€ Header.tsx
β”‚   β”‚   └── Preloader.tsx
β”‚   β”œβ”€β”€ context/          # React Context (App, Language)
β”‚   └── styles/           # Global CSS
β”œβ”€β”€ i18n.ts              # Internationalization config
└── tailwind.config.ts   # Tailwind configuration

🌍 Internationalization (i18n)

The website supports both English and Arabic with full RTL support:

  • English: /en
  • Arabic: /ar

Language files are located in public/locales/.

🎨 Customization

Colors

Edit the CSS variables in src/app/globals.css:

:root {
  --background: #0a0a0f;
  --foreground: #ffffff;
  --primary: #667eea;
  /* ... more colors */
}

Tech Stack Icons

Add your icons to public/assets/tech/ and update the arrays in:

  • src/components/HeroSection.tsx - Floating tech images
  • src/components/SkillsSection.tsx - Skills section
  • src/components/Preloader.tsx - Preloader icons

πŸ“Έ Screenshots

Note: Add your portfolio screenshots to public/assets/ and replace the image path in this README.

πŸ“ License

This project is open source and available under the MIT License.

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

Mohamed Alromaihi


Made with ❀️ and β˜• by Mohamed Alromaihi

⭐ Star this repo if you like it!

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages