A modern, responsive portfolio website that showcases your professional profile, projects, experience, and social links in an elegant and user-friendly interface.
- Responsive Design: Works beautifully on all devices from mobile to desktop
- Modular Architecture: Clean separation of concerns with modular JavaScript
- Configuration Driven: All content managed through JSON configuration files
- SEO Optimized: Proper meta tags, schema markup, and semantic HTML
- Accessibility: WCAG compliant with keyboard navigation and screen reader support
- Performance Optimized: Lightweight and fast-loading
- Contact Integration: Telegram bot integration for contact form submissions
portfolio-main/
├── config/ # Configuration files
│ ├── navigation.json # Navigation menu items
│ ├── ui.json # UI configuration (icons, categories)
│ ├── links.json # Social and professional links
│ ├── portfolio.json # Portfolio items
│ ├── experience.json # Work experience
│ ├── projects.json # Project showcase
│ └── telegram.json # Telegram bot integration
├── css/ # Stylesheets
│ └── style.css # Main stylesheet
├── js/ # JavaScript modules
│ ├── app.js # Main application module
│ ├── utils.js # Utility functions
│ ├── ui.js # UI component functions
│ └── secure.js # Security features
├── asset/ # Images and assets
├── library/ # Third-party libraries
├── index.html # Main HTML file
└── README.md # Documentation
Controls the main navigation menu. Each item has:
id: Section identifiername: Display nameicon: Inactive state iconactiveIcon: Active state icon
Contains mappings for:
iconMap: Platform iconscategoryNames: Human-readable category names
Your social and professional links. Each entry has:
platform: Name of the platformurl: Full URL to profile/pagecategory: Category for filtering
Portfolio items. Each entry has:
image: Image URLtitle: Item titledescription: Short descriptionliveUrl: Live demo URLdetailsUrl: Details URL
Work experience entries. Each entry has:
date: Employment periodtitle: Job titlecompany: Company nameicon: Icon for timelineduties: Array of job responsibilities
Project showcase. Each entry has:
title: Project titledescription: Project descriptionsourceUrl: Source code URLliveUrl: Live demo URLtags: Array of technology tags
Integration settings for contact form:
botToken: Telegram bot tokenchatId: Chat ID to receive messages
- A web server to host the files
- A Telegram bot token (optional, for contact form)
- Clone or download this repository
- Customize the configuration files in the
config/directory - Upload the files to your web server
Edit config/links.json and add new entries following the existing format.
Modify the metadata in index.html:
- Title in
<title>tag - Description in meta tags
- Schema.org structured data in the
<script>tag
Edit the CSS variables in css/style.css:
--ui-bg-base: Base background color--ui-bg-component: Component background--ui-border-base: Border color--ui-fg-base: Base text color--ui-fg-muted: Muted text color--ui-fg-interactive: Interactive element color
The site includes security measures:
- Right-click prevention (in
secure.js) - Developer tools detection
- Secure contact form with Telegram integration
- Optimize images in the
asset/directory - Minify CSS and JavaScript for production
- Use a CDN for faster loading
- Implement caching strategies
- Chrome, Firefox, Safari, Edge (latest versions)
- Mobile browsers on iOS and Android
Feel free to fork this repository and submit pull requests for improvements.
This project is licensed under the MIT License - see the LICENSE file for details.