This is a dual-mode portfolio website for a security specialist and developer, featuring both a terminal interface and a traditional GUI interface. The portfolio showcases skills, projects, and contact information in an interactive and visually appealing manner.
- Terminal Mode: Command-line interface with authentic terminal functionality
- GUI Mode: Modern graphical interface with smooth animations
- Command execution with
pf
prefix (e.g.,pf -help
,pf -about
) - Command history navigation with arrow keys
- Tab auto-completion
- ASCII art representations of content
- Terminal window controls (minimize, maximize, close)
- Matrix background effect
- Responsive design with mobile support
- Typing animation in hero section
- Animated skill bars
- Project cards with hover effects
- Contact form with EmailJS integration
- Social media links
- Smooth scrolling navigation
- Matrix code background animation
- Loading screen with terminal-style progress bar
- Mode selection screen
- Consistent cyber-security themed design
- HTML5, CSS3, JavaScript (ES6+)
- CSS Grid and Flexbox for layout
- CSS Custom Properties (Variables) for theming
- Font Awesome Icons
- Google Fonts (Roboto Mono, Poppins, Source Code Pro)
- AOS (Animate On Scroll)
- Devicon for technology icons
- EmailJS for contact form functionality
- Canvas-based Matrix background
- Custom typing animation
- Glow effects and transitions
- ASCII art generation
portfolio/
├── index.html # Main HTML file
├── style.css # All CSS styles
├── script.js # All JavaScript functionality
└── images/ # Project images
├── GitMan.png
├── WA-Spam.png
└── Tabsye.png
The HTML file contains three main view containers:
- Common loader with terminal-style progress animation
- View selector screen with mode options
- Terminal interface with command processing
- GUI interface with traditional sections
The CSS uses a comprehensive variable system for theming:
:root {
--primary: #00FF41; /* Matrix green */
--secondary: #0D0208; /* Dark background */
--text-primary: #E5E5E5; /* Light text */
/* ... more variables */
}
Key styling features include:
- Cyber-security aesthetic with matrix green accents
- Responsive design with mobile breakpoints
- Custom animations and transitions
- Glass-morphism effects with backdrop filters
The TerminalPortfolio
class handles all terminal functionality:
- Command parsing and execution
- History management
- Output rendering with ASCII art
- Mode switching
The initGUI()
function handles:
- Mobile menu toggle
- Smooth scrolling
- Skill bar animations
- Typing animation
- Contact form setup
- Matrix background using Canvas API
- Loading screen with simulated progress
- Email integration with EmailJS
pf -help # Show help menu
pf -about # Display about information
pf -skills # Show skills with ASCII progress bars
pf -projects # List projects with descriptions
pf -contact # Show contact information
pf -gui # Switch to GUI mode
ls # List directory contents
clear # Clear terminal screen
exit # Return to mode selection
- Use the navigation bar to jump to sections
- View projects with technology tags
- Use the contact form to send messages
- Switch to terminal mode using the terminal link
Modify CSS variables in the :root
selector to change the color scheme:
:root {
--primary: #YourColor; /* Primary accent color */
--secondary: #YourDarkColor; /* Dark background */
/* ... other variables */
}
- Personal Information: Update content in the HTML file
- Skills: Modify skill names and percentages in both HTML and JavaScript
- Projects: Add or update project cards in the HTML
- Contact Information: Update contact details and EmailJS templates
To set up the contact form:
- Create an EmailJS account
- Replace the public key in the JavaScript:
emailjs.init("your-public-key");
- Set up email templates in the EmailJS dashboard
This portfolio supports all modern browsers including:
- Chrome (recommended)
- Firefox
- Safari
- Edge
- Minimal external dependencies
- Optimized CSS with efficient selectors
- Debounced scroll events
- Efficient canvas animation
- Lazy loading for images
- Semantic HTML structure
- Keyboard navigation support
- ARIA labels for interactive elements
- Color contrast compliance
- Focus indicators for interactive elements
The portfolio is deployed on GitHub Pages at: https://sh1vam-03.github.io/portfolio/
To deploy your own version:
- Fork the repository
- Enable GitHub Pages in repository settings
- Customize content as needed
This project is open source and available under the MIT License.
- Email: [email protected]
- GitHub: sh1vam-03
- LinkedIn: sh1vam~03
- Twitter: sh1vam_03
Potential improvements for the portfolio:
- Add dark/light mode toggle
- Implement PWA features for offline access
- Add more interactive terminal commands
- Include a blog section
- Add project filtering by technology
- Implement internationalization (i18n)
This portfolio showcases a unique approach to personal websites by combining technical prowess with creative design, reflecting the skills of a security specialist and developer.