Skip to content

A personal portfolio showcasing my web development skills and projects, built with Next.js. Explore my work and connect!

Notifications You must be signed in to change notification settings

Mansourkira/Portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

43 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Personal Portfolio - Full Stack Developer

A modern, responsive personal portfolio built with Next.js, TypeScript, and Tailwind CSS. Features a bilingual interface (English/French) with smooth animations and a professional design.

Portfolio Preview TypeScript Tailwind CSS React

✨ Features

  • 🌍 Bilingual Support: English and French language switching
  • 🎨 Modern Design: Clean, professional dark theme with smooth animations
  • πŸ“± Responsive Layout: Optimized for all devices and screen sizes
  • ⚑ Performance: Built with Next.js 14 for optimal performance
  • 🎭 Smooth Animations: Framer Motion powered hover effects and transitions
  • πŸŒ™ Theme Support: Dark mode with elegant color scheme
  • πŸ“„ Resume Download: Language-specific PDF downloads
  • πŸ” SEO Optimized: Meta tags and structured content

πŸ› οΈ Tech Stack

Frontend

  • Next.js 14 - React framework with App Router
  • TypeScript - Type-safe development
  • Tailwind CSS - Utility-first CSS framework
  • Framer Motion - Animation library
  • Lucide React - Beautiful icons

Styling & UI

  • CSS Modules - Component-scoped styling
  • Responsive Design - Mobile-first approach
  • Custom Components - Reusable UI components
  • Hover Effects - Interactive card animations

Development Tools

  • ESLint - Code quality and consistency
  • PostCSS - CSS processing
  • TypeScript Config - Strict type checking

πŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn package manager

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/portfolio.git
    cd portfolio
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Run the development server

    npm run dev
    # or
    yarn dev
  4. Open your browser Navigate to http://localhost:3000

Build for Production

npm run build
npm start

πŸ“ Project Structure

portfolio/
β”œβ”€β”€ app/                    # Next.js App Router
β”‚   β”œβ”€β”€ layout.tsx         # Root layout component
β”‚   β”œβ”€β”€ page.tsx           # Home page component
β”‚   └── globals.css        # Global styles
β”œβ”€β”€ components/             # React components
β”‚   β”œβ”€β”€ ui/                # Reusable UI components
β”‚   β”œβ”€β”€ hooks/             # Custom React hooks
β”‚   └── *.tsx              # Feature components
β”œβ”€β”€ lib/                    # Utility functions
β”‚   β”œβ”€β”€ messages.json      # Bilingual content
β”‚   └── utils.ts           # Helper functions
β”œβ”€β”€ public/                 # Static assets
β”‚   β”œβ”€β”€ EN_Mansour_FullStackDeveloper.pdf
β”‚   └── FR_Mansour_FullStackDeveloper.pdf
└── package.json            # Dependencies and scripts

🌍 Internationalization

The portfolio supports multiple languages through a custom localization system:

  • English (en): Default language
  • French (fr): Secondary language
  • Dynamic Content: All text content switches seamlessly
  • Resume Downloads: Language-specific PDF files
  • Smooth Transitions: Animated language switching

Adding New Languages

  1. Update lib/messages.json with new language content
  2. Add language option to the locale switcher
  3. Include corresponding resume PDF in the public folder

🎨 Customization

Colors & Themes

  • Primary colors defined in Tailwind config
  • Dark theme with accent colors
  • Consistent color scheme throughout

Components

  • Modular component architecture
  • Easy to customize and extend
  • Reusable UI patterns

Animations

  • Configurable animation delays
  • Smooth hover effects
  • Performance-optimized transitions

πŸ“± Responsive Design

  • Mobile First: Designed for mobile devices first
  • Breakpoints: Tailwind CSS responsive utilities
  • Flexible Layout: Adapts to all screen sizes
  • Touch Friendly: Optimized for touch interactions

πŸš€ Deployment

Vercel (Recommended)

  1. Connect your GitHub repository to Vercel
  2. Configure build settings
  3. Deploy automatically on push

Other Platforms

  • Netlify: Static site deployment
  • AWS S3: Cloud hosting
  • Custom Server: Node.js hosting

πŸ“„ Resume Integration

The portfolio automatically serves the correct resume based on the current language:

  • English: EN_Mansour_FullStackDeveloper.pdf
  • French: FR_Mansour_FullStackDeveloper.pdf

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

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

Mansour Ben Mansour

  • Full Stack Developer
  • Specializing in React, Next.js, and modern web technologies
  • Based in Tunis, Tunisia

πŸ™ Acknowledgments

  • Next.js Team - For the amazing framework
  • Tailwind CSS - For the utility-first CSS approach
  • Framer Motion - For smooth animations
  • Lucide - For beautiful icons

πŸ“ž Contact


⭐ Star this repository if you found it helpful!

Made with ❀️ by Mansour Ben Mansour

About

A personal portfolio showcasing my web development skills and projects, built with Next.js. Explore my work and connect!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published