Skip to content

atharv2823/Portfolio-VsCode

Repository files navigation

πŸš€ DevCode Portfolio - VS Code Themed Portfolio Website

A stunning, interactive developer portfolio that mimics the VS Code interface. Features include file explorer, code editor with syntax highlighting, integrated terminal, and AI-powered chat assistant.

React TypeScript Vite License

✨ Features

  • 🎨 VS Code UI - Authentic VS Code interface with activity bar, sidebar, and status bar
  • πŸ“ File Explorer - Browse portfolio files with syntax highlighting
  • πŸ’¬ AI Copilot - Chat with Gemini AI about the portfolio
  • 🎭 Theme Switcher - Dark, Light, and Monokai themes
  • πŸ“± Responsive Design - Works on desktop, tablet, and mobile
  • ⌨️ Keyboard Shortcuts - Ctrl+B (sidebar), Ctrl+J (terminal), Ctrl+W (close tab)
  • πŸ“‹ Copy to Clipboard - Copy any file content with one click
  • πŸ”„ Live Preview - Toggle between code and preview mode for projects
  • πŸ’Ύ State Persistence - Remembers your open files and theme preference

πŸš€ Quick Start (Windows)

Option 1: Automated Setup (Recommended)

  1. Double-click setup.bat
  2. Follow the prompts
  3. Get your Gemini API key from Google AI Studio
  4. Edit .env.local and paste your API key
  5. Done! πŸŽ‰

Option 2: Manual Setup

# 1. Install dependencies
npm install

# 2. Create .env.local file
# Add this line with your actual API key:
# GEMINI_API_KEY=your_key_here

# 3. Start development server
npm run dev

# 4. Open browser to http://localhost:3000

πŸ“š Documentation

πŸ› οΈ Tech Stack

Technology Purpose
React 19 UI framework with latest features
TypeScript Type safety and better DX
Vite Fast build tool and dev server
Tailwind CSS Utility-first styling
Lucide React Beautiful icon library
Google Gemini AI AI-powered chat assistant

πŸ“ Project Structure

devcode/
β”œβ”€β”€ components/          # React components
β”‚   β”œβ”€β”€ ActivityBar.tsx  # Left sidebar navigation
β”‚   β”œβ”€β”€ ChatSidebar.tsx  # AI chat interface
β”‚   β”œβ”€β”€ ProjectPreview.tsx # Project cards view
β”‚   β”œβ”€β”€ Sidebar.tsx      # File explorer
β”‚   β”œβ”€β”€ Terminal.tsx     # Terminal panel
β”‚   └── ...
β”œβ”€β”€ services/
β”‚   └── geminiService.ts # AI integration
β”œβ”€β”€ App.tsx              # Main app component
β”œβ”€β”€ constants.tsx        # Portfolio data
β”œβ”€β”€ types.ts             # TypeScript types
└── setup.bat            # Windows setup script

⌨️ Keyboard Shortcuts

Shortcut Action
Ctrl + B Toggle sidebar
Ctrl + J Toggle terminal
Ctrl + W Close active tab
`Ctrl + `` Focus terminal

🎨 Customization

Update Portfolio Content

Edit constants.tsx to change:

  • Your bio and information
  • Project showcase
  • Skills and tech stack
  • Experience timeline

Change Themes

Modify CSS variables in index.html under each [data-theme] selector.

Add New Files

Add file objects to the FILES array in constants.tsx.

🚒 Deployment

Build for Production

npm run build

Deploy to Vercel

npm i -g vercel
vercel

Deploy to Netlify

  1. Run npm run build
  2. Drag & drop the dist folder to Netlify

⚠️ Important: Add GEMINI_API_KEY as an environment variable in your hosting platform!

πŸ“ Available Scripts

Command Description
npm run dev Start development server (port 3000)
npm run build Build for production
npm run preview Preview production build

πŸ› Troubleshooting

"API key not found" error

  • Make sure .env.local exists in the root directory
  • Verify it contains: GEMINI_API_KEY=your_actual_key
  • Restart the dev server after adding the key

Port 3000 already in use

  • Change the port in vite.config.ts
  • Or kill the process using port 3000

Changes not appearing

  • Stop the server (Ctrl+C)
  • Clear browser cache
  • Restart with npm run dev

🀝 Contributing

Contributions are welcome! Feel free to:

  • Report bugs
  • Suggest new features
  • Submit pull requests

πŸ“„ License

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

🌟 Credits

Built with ❀️ using:

πŸ“ž Support

Need help? Check out:


Made with πŸ’» and β˜•

About

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors