Skip to content

Muneer320/Portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

28 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Interactive Linux Desktop Portfolio

A stunning, fully functional simulation of an Arch Linux desktop environment built with React.js that showcases my portfolio in an interactive and engaging way. Experience a complete desktop OS in your browser with working applications, file system, terminal commands, and more. Features a responsive mobile experience with an Arch Linux installer simulation for smaller screens.

Portfolio Desktop Screenshot JavaScript CSS3 Node.js TailwindCSS

🌟 Features

πŸ–₯️ Complete Desktop Environment

  • Authentic Arch-Linux-style desktop with custom wallpapers and system theming
  • Advanced window management system with dragging, resizing, minimizing, and maximizing
  • Multi-window support with proper z-index management and focus handling
  • Fully responsive design that adapts to different screen sizes with mobile installer
  • Real-time system status indicators (battery with native API, volume, WiFi, system time)
  • Interactive dock with system controls including music playback and volume adjustment

πŸ“ File System Simulation

  • Interactive file manager with navigation, breadcrumb paths, and file operations
  • Realistic directory structure (/home/muneer/ with Documents, Projects, Pictures, Music, Videos)
  • Multiple file types support: Text files, images, audio, videos, PDFs, markdown files
  • File preview and editing capabilities with real-time saving to localStorage
  • Dynamic file system loading from JSON structure with async operations
  • Virtual file system persistence across browser sessions

πŸ’» Functional Terminal Emulator

  • Custom terminal interface with authentic Linux styling and prompt
  • Portfolio-specific commands for showcasing skills and experience interactively
  • System commands: ls, cd, cat, pwd, clear, help, neofetch with auto-run
  • Portfolio commands: bio, skills, experience, projects, contact, education
  • Command history and navigation with arrow key support and persistence
  • Tab completion for commands and file paths with intelligent suggestions
  • Multi-command execution with semicolon separation support

🎡 Multimedia Applications

  • Music Player: Play audio files with controls, progress bar, volume control and global system integration
  • Video Player: Built-in HTML5 video player in browser with support for MP4, MKV, AVI and more
  • Image Viewer: Display images with zoom, navigation and file metadata
  • Text Editor: Edit and save text files with syntax highlighting and localStorage persistence
  • PDF Viewer: View PDF documents in browser component (certificates, resume)
  • Web Browser: Embedded browser simulation with GitHub profile integration and API fetching
  • Mobile Arch Installer: Complete mobile-responsive Arch Linux installation simulation

🎨 User Experience

  • Smooth animations and transitions with CSS transforms and backdrop filters
  • Backdrop filters and glass morphism effects for modern UI aesthetics
  • Authentic Linux theming and icons with Arch Linux branding
  • Login screen simulation with user authentication flow
  • Auto-start terminal for immediate interaction with neofetch display
  • Mobile-responsive Arch installer for small screen devices
  • System status indicators with real battery API integration when available
  • Interactive dock with system controls including volume, music, and system info panels

πŸ“± Mobile Responsiveness

  • Adaptive Design: Automatically switches to mobile interface on smaller screens
  • Arch Linux Installer Simulation: Complete mobile-optimized installation experience
  • Touch-Friendly Interface: Optimized for mobile interaction patterns
  • Progressive Enhancement: Desktop features gracefully degrade on mobile
  • Mobile Terminal: Full-featured terminal experience optimized for touch input

πŸ› οΈ Technology Stack

Frontend

  • React.js 19.1.0 - Modern UI library with hooks and functional components
  • CSS3 - Advanced styling with backdrop filters, animations, and glass morphism
  • JavaScript ES6+ - Modern JavaScript features and async/await patterns
  • React Icons 5.5.0 - Comprehensive icon library for UI elements
  • Axios 1.9.0 - HTTP client for GitHub API integration

Development Tools

  • Create React App 5.0.1 - Build toolchain and development server
  • Tailwind CSS 3.4.17 - Utility-first CSS framework for rapid styling
  • ESLint 9.23.0 - Advanced code linting and formatting with multiple plugins
  • PostCSS 8.4.49 - CSS processing and optimization with autoprefixer
  • React Router DOM 7.6.1 - Navigation and routing for SPA functionality

Features Implementation

  • File System Loader - Dynamic JSON-based file system with virtual directory structure
  • Terminal Commands Engine - Custom command processor with portfolio-specific commands
  • Window Management System - Multi-window state management with drag/resize/focus
  • Portfolio Data Integration - Dynamic content loading from centralized data module
  • Music Manager - Global audio system with volume control and player synchronization
  • Mobile Responsive Design - Arch Linux installer simulation for mobile devices
  • GitHub API Integration - Real-time profile and repository data fetching
  • Local Storage Persistence - File editing and system preferences persistence

πŸ“‚ Project Structure

Portfolio/
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ public/
β”‚   β”‚   β”œβ”€β”€ assets/          # Static assets (icons, images, music)
β”‚   β”‚   └── home/muneer/     # Simulated file system
β”‚   β”‚       β”œβ”€β”€ Documents/   # Resume, cover letter, certificates
β”‚   β”‚       β”œβ”€β”€ Projects/    # Project documentation and code
β”‚   β”‚       β”œβ”€β”€ Pictures/    # Images and avatars
β”‚   β”‚       β”œβ”€β”€ Videos/      # Video files and project demos
β”‚   β”‚       └── Music/       # Audio files for music player
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/      # React components
β”‚   β”‚   β”‚   β”œβ”€β”€ Desktop.js   # Main desktop environment
β”‚   β”‚   β”‚   β”œβ”€β”€ Terminal.js  # Terminal emulator with portfolio commands
β”‚   β”‚   β”‚   β”œβ”€β”€ FileManager.js # File browser with navigation
β”‚   β”‚   β”‚   β”œβ”€β”€ TextEditor.js  # Text file editor with save functionality
β”‚   β”‚   β”‚   β”œβ”€β”€ MusicPlayer.js # Audio player with system integration
β”‚   β”‚   β”‚   β”œβ”€β”€ ImageViewer.js # Image display with zoom controls
β”‚   β”‚   β”‚   β”œβ”€β”€ Browser.js     # Web browser with GitHub integration
β”‚   β”‚   β”‚   β”œβ”€β”€ Dock.js        # System dock with status indicators
β”‚   β”‚   β”‚   └── MobileArchInstaller.js # Mobile responsive installer
β”‚   β”‚   β”œβ”€β”€ data/           # Portfolio content and configuration
β”‚   β”‚   β”‚   └── portfolioData.js # Centralized portfolio information
β”‚   β”‚   β”œβ”€β”€ styles/         # Component-specific CSS modules
β”‚   β”‚   └── utils/          # Utility functions and helpers
β”‚   β”‚       β”œβ”€β”€ fileSystemLoader.js # Virtual file system management
β”‚   β”‚       β”œβ”€β”€ terminalCommands.js # Terminal command processing
β”‚   β”‚       └── musicManager.js     # Global music state management
β”‚   β”œβ”€β”€ package.json        # Dependencies and scripts
β”‚   β”œβ”€β”€ postcss.config.js   # PostCSS configuration
β”‚   └── tailwind.config.js  # Tailwind CSS configuration
β”œβ”€β”€ add_gitkeeps.py         # Utility script for git management
└── README.md              # Project documentation

🎯 Interactive Portfolio Commands

Open the terminal and try these commands to explore my portfolio:

bio          # Personal background and introduction
skills       # Technical skills and technologies
experience   # Professional work experience
projects     # Portfolio projects with details
education    # Educational background
contact      # Contact information and social links
neofetch     # System information display (auto-runs on startup)
help         # List all available commands

System Commands

ls           # List directory contents
cd [dir]     # Change directory
cat [file]   # Display file contents
pwd          # Show current directory
clear        # Clear terminal screen
history      # Show command history

🎨 Key Components

Desktop Environment

  • Dynamic wallpaper system with Arch Linux inspired themes
  • Enhanced taskbar with system tray showing time, battery (real API when available), volume, and network status
  • Interactive application dock with hover effects, tooltips, and launch capabilities
  • Context menu system for right-click interactions and quick access
  • System information panels with real-time hardware and software details

Window Manager

  • Draggable windows with smooth animations and momentum
  • Resizable windows with minimum size constraints and aspect ratio handling
  • Advanced focus management with proper z-index handling and bring-to-front functionality
  • Window controls (minimize, maximize, close) with visual feedback
  • Multi-window state persistence across application sessions

File System

  • JSON-based file structure for easy content management and updates
  • Dynamic file loading from public directory with async operations
  • Advanced file type detection and appropriate viewer selection
  • Read/write capabilities with localStorage persistence and auto-save
  • Virtual directory navigation with breadcrumb paths and history

πŸš€ Quick Start

Prerequisites

  • Node.js 16+ - JavaScript runtime
  • npm - Package manager
  • Modern web browser - Chrome, Firefox, Safari, Edge

Installation

# Clone the repository
git clone https://github.com/Muneer320/Portfolio.git
cd Portfolio

# Install npm and Node.js using your preferred method
# 1. Download from official website: "https://nodejs.org/"
# 2. Package managers
sudo pacman -S nodejs npm       # For Arch Linux
sudo apt install nodejs npm     # For (Ubuntu/Debian) based Linux
brew install node npm           # For macOS
choco install nodejs npm        # For Windows (PowerShell as Admin)

# Navigate to frontend directory and install dependencies
cd frontend
npm install

# Start development server
npm start

The application will open at http://localhost:3000

πŸ† Features Showcase

This portfolio demonstrates proficiency in:

  • React.js ecosystem and modern development practices with hooks and functional components
  • Advanced CSS with animations, glass morphism effects, and responsive design
  • JavaScript ES6+ features, async/await patterns, and modern design patterns
  • State management with React hooks and component architecture
  • File system simulation and data management with JSON-based virtual directories
  • Multimedia handling with video playback, audio management, and image processing
  • API integration with GitHub REST API and real-time data fetching
  • User interface design and user experience with accessibility considerations
  • Responsive web development with mobile-first approach and adaptive layouts
  • Performance optimization with lazy loading and efficient rendering
  • Modern development tools including Tailwind CSS, ESLint, and PostCSS

🌐 Connect with me:

LinkedIn GitHub Email Discord


Built with ❀️ using React.js | An Interactive Portfolio Experience