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

Skip to content

mounir1/mounir1.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Mounir Abderrahmani - Professional Portfolio

A modern, data-driven portfolio built for production with Firebase integration and comprehensive admin dashboard

Live Demo Admin Panel Build Status

✨ Production-Ready Features

🎯 Core Functionality

  • πŸ”₯ Firebase-Powered: Real-time data management with Firestore
  • πŸ” Dual Authentication: Google OAuth + Email/Password login
  • πŸ“Š Dynamic Content: Projects, experience, and skills managed via admin dashboard
  • 🎨 Professional Design: Modern UI with custom signature branding
  • πŸ“± Mobile-First: Responsive design optimized for all devices
  • ⚑ Performance: Lighthouse score 95+ with optimized loading

πŸ›  Technical Stack

Frontend:  React 18 + TypeScript + Vite
UI:        shadcn/ui + Radix UI + Tailwind CSS
Backend:   Firebase (Auth + Firestore)
Analytics: Google Analytics 4
SEO:       Structured data + Open Graph + Twitter Cards
Deploy:    GitHub Actions + GitHub Pages

🎨 Professional Features

  • πŸ“„ CV Download: Direct PDF download functionality
  • πŸ”— Smart Admin Access: Hidden login via signature triple-click + visible admin button
  • πŸ“ˆ Real-time Analytics: Google Analytics integration
  • 🌐 SEO Optimized: Perfect for Google search visibility
  • 🎯 Auto-Seeding: Automatic project data population on first load

οΏ½οΏ½οΏ½ Quick Start

Development Setup

# Clone and setup
git clone https://github.com/mounir1/portfolio.git
cd portfolio
npm install

# Start development server
npm run dev

Production Build

# Professional production build with verification
npm run build:production

# Preview production build
npm run preview

# Deploy to GitHub Pages
npm run deploy

πŸ”§ Firebase Configuration

Environment Variables

Create .env.local with your Firebase config:

VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id
VITE_FIREBASE_MEASUREMENT_ID=your_measurement_id

Firestore Security Rules

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /projects/{projectId} {
      allow read: if true;
      allow write: if request.auth != null;
    }
  }
}

🎯 Admin Dashboard Features

Access Methods

  1. πŸ”— Smart Button: Click admin button next to signature in footer
  2. πŸ–±οΈ Hidden Access: Triple-click signature for discrete admin access
  3. πŸ”— Direct URL: Navigate to /admin

Dashboard Capabilities

  • πŸ“Š Overview: Real-time statistics and quick actions
  • πŸ“ Project Management: Full CRUD operations with rich metadata
  • πŸŽ›οΈ Content Control: Toggle visibility, featured status, priority
  • πŸ“ˆ Analytics: Project performance and engagement metrics
  • πŸ”„ Real-time Updates: Changes reflect immediately on live site

Project Management

// Comprehensive project schema
interface Project {
  title: string;
  description: string;
  longDescription?: string;
  category: ProjectCategory;
  status: ProjectStatus;
  achievements: string[];
  technologies: string[];
  tags: string[];
  image?: string;
  liveUrl?: string;
  githubUrl?: string;
  demoUrl?: string;
  featured: boolean;
  disabled: boolean;
  priority: number;
  startDate?: string;
  endDate?: string;
  duration?: string;
  // Auto-managed fields
  createdAt: number;
  updatedAt: number;
}

πŸ“Š Production Optimizations

Performance Features

  • ⚑ Code Splitting: Vendor, Firebase, and UI chunks
  • πŸ—œοΈ Minification: Terser with console removal
  • πŸ“¦ Bundle Analysis: Built-in bundle analyzer
  • πŸ”„ Lazy Loading: Components and routes
  • πŸ’Ύ Caching: Optimized Firebase queries

SEO & Analytics

  • πŸ” Google Analytics: Full GA4 integration
  • πŸ“ˆ Structured Data: Rich snippets for search results
  • 🌐 Open Graph: Perfect social media sharing
  • 🐦 Twitter Cards: Enhanced Twitter sharing
  • πŸ—ΊοΈ Sitemap: Auto-generated sitemap.xml
  • πŸ€– Robots.txt: Optimized for search engines

Build Scripts

npm run build:production  # Professional build with verification
npm run type-check       # TypeScript validation
npm run lint:fix         # Auto-fix linting issues
npm run analyze          # Bundle size analysis
npm run clean            # Clean build artifacts

🎨 Customization Guide

Branding

  • Logo: Update /public/mounir-icon.svg
  • Signature: Modify src/components/ui/signature.tsx
  • Colors: Customize tailwind.config.ts
  • Fonts: Update CSS variables in src/index.css

Content Management

  • Auto-Seeding: Initial projects loaded from src/data/initial-projects.ts
  • Dynamic Updates: All content manageable via admin dashboard
  • Real-time Sync: Changes reflect immediately across all users

πŸš€ Deployment Options

GitHub Pages (Recommended)

  1. Setup Secrets: Add Firebase config to GitHub repository secrets
  2. Push Code: GitHub Actions automatically builds and deploys
  3. Custom Domain: Configure DNS for your domain

Manual Deployment

# Build and deploy
npm run build:production
npm run deploy

# Or upload dist/ folder to any static hosting

Environment Support

  • Development: Local development with hot reload
  • Staging: Preview builds with production config
  • Production: Optimized builds with analytics

πŸ“ˆ Analytics & Monitoring

Google Analytics 4

  • Page Views: Track portfolio visits
  • User Engagement: Monitor user interactions
  • Project Clicks: Track project link clicks
  • Admin Usage: Monitor dashboard usage

Performance Monitoring

  • Lighthouse Scores: 95+ across all metrics
  • Core Web Vitals: Optimized loading and interactivity
  • Bundle Size: Monitored and optimized
  • Error Tracking: Comprehensive error boundaries

πŸ”’ Security Features

Authentication

  • Firebase Auth: Secure Google OAuth + Email/Password
  • Protected Routes: Admin dashboard requires authentication
  • Session Management: Automatic session handling

Data Security

  • Firestore Rules: Read-only public access, authenticated writes
  • Environment Variables: Secure credential management
  • Input Validation: XSS protection and data sanitization

πŸ“ž Professional Contact

Mounir Abderrahmani
Senior Full-Stack Developer & Software Engineer


πŸ† Project Highlights

  • βœ… Production-Ready: Optimized for performance and scalability
  • βœ… Firebase Integration: Real-time data management
  • βœ… Professional Admin: Comprehensive content management
  • βœ… SEO Optimized: Perfect for Google search visibility
  • βœ… Mobile-First: Responsive design for all devices
  • βœ… Modern Stack: Latest React, TypeScript, and Vite
  • βœ… Secure: Firebase Auth with proper security rules
  • βœ… Analytics: Google Analytics 4 integration
  • βœ… Automated Deployment: GitHub Actions CI/CD

Built with ❀️ and modern web technologies by Mounir Abderrahmani

This portfolio showcases professional development practices, modern architecture, and production-ready code quality.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •