A modern, responsive portfolio website built with Vue.js 3, Vuetify (Material Design), and Tailwind CSS. Features conditional layout rendering, comprehensive sections for education, experience, projects, publications, workshops, and beautiful UI components.
- Vue.js 3 - Progressive JavaScript framework with Composition API
- Vue Router 4 - Official router for Vue.js applications
- Vuetify 3 - Material Design component framework for Vue.js
- Tailwind CSS 3 - Utility-first CSS framework
- Vite - Next-generation frontend build tool
- Material Design Icons - Icon library for Material Design
samyabrata.github.io/
├── CNAME # Custom domain configuration
├── public/ # Static assets
│ ├── CNAME # Custom domain configuration
│ ├── icons/ # Icon assets
│ │ ├── GS.png # Google Scholar icon
│ │ └── RG.png # ResearchGate icon
│ ├── profile-icon.png # Profile icon
│ ├── SamyabrataRoy.jpeg # Profile image
│ ├── SamyabrataRoy2.jpg # Alternative profile image
│ └── vite.svg # Vite logo
├── src/ # Source code directory
│ ├── assets/ # Static assets
│ │ └── vue.svg # Vue.js logo
│ ├── components/ # Reusable Vue components
│ │ ├── Header.vue # Navigation header component
│ │ └── Footer.vue # Footer component with links
│ ├── router/ # Vue Router configuration
│ │ └── index.js # Route definitions and router setup
│ ├── views/ # Page components (route views)
│ │ ├── Cocurricular/ # Co-curricular activities section
│ │ │ ├── components/ # Co-curricular components
│ │ │ │ ├── Leadership.vue # Leadership experience component
│ │ │ │ └── Volunteering.vue # Volunteering experience component
│ │ │ └── Index.vue # Co-curricular main page
│ │ ├── Contact.vue # Contact page with form
│ │ ├── Home/ # Home section with multiple components
│ │ │ ├── components/ # Home page components
│ │ │ │ ├── awards/ # Awards and recognition section
│ │ │ │ │ ├── components/ # Award components
│ │ │ │ │ │ └── AwardCard.vue # Individual award card
│ │ │ │ │ └── Index.vue # Awards main page
│ │ │ │ ├── education/ # Education section
│ │ │ │ │ ├── components/ # Education components
│ │ │ │ │ │ └── EducationMilestone.vue # Education milestone
│ │ │ │ │ └── Index.vue # Education main page
│ │ │ │ ├── experience/ # Work experience section
│ │ │ │ │ ├── components/ # Experience components
│ │ │ │ │ │ └── TimelineComponent.vue # Experience timeline
│ │ │ │ │ └── Index.vue # Experience main page
│ │ │ │ ├── HeroSection.vue # Hero section component
│ │ │ │ └── researchInterests/ # Research interests section
│ │ │ │ ├── components/ # Research components
│ │ │ │ │ └── Card.vue # Research interest card
│ │ │ │ └── Index.vue # Research interests main page
│ │ │ └── index.vue # Home main page
│ │ ├── ProjectsPublications/ # Projects and publications section
│ │ │ ├── components/ # Projects/Publications components
│ │ │ │ ├── ArticlesTab.vue # Articles tab component
│ │ │ │ ├── ProjectTab/ # Project tab components
│ │ │ │ │ ├── components/ # Project components
│ │ │ │ │ │ ├── ResearchProjects.vue # Research projects
│ │ │ │ │ │ └── TechnicalProjects.vue # Technical projects
│ │ │ │ │ └── Index.vue # Project tab main page
│ │ │ │ └── PublicationsTab.vue # Publications tab component
│ │ │ └── Index.vue # Projects/Publications main page
│ │ └── WorkshopsAttended/ # Workshops and bootcamps section
│ │ ├── components/ # Workshop components
│ │ │ ├── BootcampCard.vue # Bootcamp card component
│ │ │ └── WorkshopCard.vue # Workshop card component
│ │ └── Index.vue # Workshops main page
│ ├── App.vue # Root component with conditional layout
│ ├── main.js # Application entry point
│ └── style.css # Global styles with Tailwind directives
├── index.html # HTML template
├── package.json # Dependencies and scripts
├── package-lock.json # Locked dependency versions
├── postcss.config.js # PostCSS configuration
├── tailwind.config.js # Tailwind CSS configuration
├── vite.config.js # Vite build configuration
└── README.md # Project documentation
- Purpose: Main application wrapper with conditional layout logic
- Key Features:
- Conditional rendering of Header and Footer based on current route
- Header and Footer are hidden on HomePage (
/
) for a clean landing experience - Uses Vue Router's
useRoute()
to determine current page - Implements flexbox layout for proper footer positioning
- Routes:
/
- HomePage (Home/index.vue)/contact
- Contact page (Contact.vue)/projects-publications
- Projects and Publications page/workshops
- Workshops and Bootcamps page/cocurricular
- Co-curricular activities page
- Features: Lazy loading for all pages except home
- Layout: Full-screen hero section without header/footer
- Features:
- Hero section with call-to-action buttons
- Education milestones with credentials
- Work experience timeline
- Research interests showcase
- Awards and recognition section
- Responsive design with Tailwind CSS
- Layout: Standard page with header and footer
- Features:
- Enhanced contact form with validation
- Professional contact information display
- Social media links (LinkedIn, GitHub, etc.)
- Academic profiles (Google Scholar, ResearchGate)
- Form submission handling with user feedback
- Layout: Tabbed interface with header and footer
- Features:
- Research projects showcase
- Technical projects portfolio
- Publications and articles listing
- Interactive project cards with links
- Filtering and categorization
- Layout: Grid layout with header and footer
- Features:
- Workshop participation history
- Bootcamp completions and certifications
- Interactive workshop cards
- Bootcamp cards with credentials
- Filtering by type and date
- Layout: Sectioned layout with header and footer
- Features:
- Leadership experience showcase
- Volunteering activities
- Community involvement
- Skills development activities
- Features:
- Material Design app bar with Vuetify
- Responsive navigation with mobile hamburger menu
- Active route highlighting
- Brand logo with router link
- Mobile navigation drawer
- Features:
- Contact information
- Quick navigation links
- Social media buttons
- Academic profile links
- Copyright and legal links
- Responsive grid layout
- EducationMilestone.vue: Individual education milestone with credentials
- Index.vue: Education timeline with degree information
- TimelineComponent.vue: Work experience timeline with detailed information
- Index.vue: Experience showcase with company details
- AwardCard.vue: Individual award/recognition card
- Index.vue: Awards and honors showcase
- Card.vue: Research interest card with details
- Index.vue: Research areas and specializations
- ResearchProjects.vue: Academic and research projects
- TechnicalProjects.vue: Software and technical projects
- ArticlesTab.vue: Published articles and papers
- PublicationsTab.vue: Academic publications
- WorkshopCard.vue: Workshop participation cards
- BootcampCard.vue: Bootcamp completion cards with credentials
- Leadership.vue: Leadership experience showcase
- Volunteering.vue: Volunteering activities and community service
- Utility Classes: Used throughout components for spacing, colors, typography
- Responsive Design: Mobile-first approach with responsive prefixes
- Custom Configuration: Configured in
tailwind.config.js
- Components: Buttons, cards, forms, navigation, icons
- Theme: Material Design color palette and typography
- Icons: Material Design Icons (MDI) integration
- Global Styles:
src/style.css
with Tailwind directives - Component Styles: Scoped styles in individual components
- PostCSS: Configured for Tailwind and Autoprefixer
- Vue Plugin: Vue.js support
- Path Aliases:
@
maps tosrc/
directory - Base URL: Configured for deployment
- Content Paths: Scans Vue files for utility classes
- Theme: Customizable design tokens
- Plugins: Extensible with additional plugins
- Tailwind CSS: CSS processing
- Autoprefixer: Vendor prefix automation
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run deploy # Deploy to GitHub Pages
- URL:
http://localhost:5173
(or next available port) - Hot Reload: Automatic browser refresh on file changes
- Error Overlay: In-browser error display
- Vite: Fast build tool with ES modules
- Optimization: Code splitting and tree shaking
- Output: Optimized static files in
dist/
directory
- Education: Academic credentials and milestones
- Experience: Professional work history with detailed timelines
- Projects: Research and technical project showcases
- Publications: Academic papers and articles
- Workshops: Training and bootcamp participation
- Co-curricular: Leadership and community involvement
- Awards: Recognition and honors
- Professional Contact: Multiple contact methods
- Academic Profiles: Google Scholar and ResearchGate integration
- Social Media: LinkedIn, GitHub, and other professional networks
- Form Validation: Robust contact form with user feedback
- Certification Display: Showcase completed bootcamps and certifications
- Credential Management: Organized display of professional credentials
- Interactive Cards: Detailed bootcamp information with links
- Filtering System: Categorize by type, date, and relevance
- HomePage: Clean, full-screen experience without header/footer
- Other Pages: Standard layout with navigation and footer
- Dynamic Rendering: Based on current route
- Mobile-First: Optimized for all screen sizes
- Breakpoints: Tailwind's responsive utilities
- Mobile Menu: Hamburger menu with navigation drawer
- Material Design: Consistent design language
- Smooth Transitions: Hover effects and animations
- Accessibility: Semantic HTML and ARIA attributes
- Validation: Vuetify form validation rules
- User Feedback: Loading states and success messages
- Responsive Forms: Mobile-friendly input fields
- Composition API: Modern Vue.js reactivity system
- Route-Based Logic: Dynamic layout based on current route
- Form State: Reactive form data and validation
- Props: Parent-to-child data flow
- Events: Child-to-parent communication
- Router: Page navigation and state
- Modern Browsers: Chrome, Firefox, Safari, Edge
- ES6+ Features: Arrow functions, destructuring, modules
- CSS Grid/Flexbox: Modern layout techniques
- Progressive Enhancement: Graceful degradation for older browsers
- Vuetify Theme: Customizable Material Design theme
- Tailwind Colors: Extendable color palette
- CSS Variables: Dynamic theming support
- Component-Based: Easy to modify individual sections
- Reusable Components: Consistent design patterns
- Configuration: Centralized settings in config files
- Education: Easy to add new degrees and certifications
- Experience: Simple timeline updates
- Projects: Modular project showcase system
- Workshops: Flexible bootcamp and training display
The following features and improvements are planned for future development:
- Education Credentials: Add detailed degree information, GPA, honors, and academic achievements
- Professional Certifications: Display industry certifications with verification links
- Skills Credentials: Showcase technical skills with proficiency levels and certifications
- Awards & Recognition: Expand awards section with detailed descriptions and verification
- Experience Credentials: Add company verification, role descriptions, and achievements
- Multi-Channel Contact: Integrate direct messaging, email, and social media platforms
- Contact Form Enhancement: Add file upload capabilities for resumes and portfolios
- Professional Networking: Integrate LinkedIn messaging and professional networking features
- Academic Collaboration: Add research collaboration request forms
- Response Tracking: Implement contact form submission tracking and auto-responses
- Calendar Integration: Add scheduling capabilities for meetings and consultations
- Bootcamp Showcase: Dedicated section for bootcamp completions with certificates
- Interactive Learning Path: Visual representation of learning journey and skill progression
- Certification Verification: Direct links to verify certifications and credentials
- Skill Mapping: Connect bootcamp learnings to specific skills and projects
- Progress Tracking: Show learning progress and ongoing education
- Recommendation System: Suggest relevant workshops and bootcamps based on interests
- Education Credentials: Add detailed degree information, GPA, honors, and academic achievements to all education items
- Experience Credentials: Add company verification, role descriptions, and achievements to all experience items
- Project Credentials: Add detailed project descriptions, technologies used, and outcomes to all project items
- Publication Credentials: Add detailed publication information, citations, and impact metrics to all publication items
- Workshop Credentials: Add detailed workshop information, certificates, and learning outcomes to all workshop items
- Certification Credentials: Add detailed certification information, verification links, and validity periods to all certification items
- New Header Tab: Add "Speaker Workshops" tab in the main navigation header
- Speaker Workshop Showcase: Dedicated section to display workshops where you have participated as a speaker
- Workshop Details: Include workshop title, organization, date, audience size, and presentation topics
- Presentation Materials: Links to slides, recordings, or additional resources from speaking engagements
- Speaking Portfolio: Comprehensive showcase of public speaking and presentation experience
- Impact Metrics: Track audience engagement, feedback, and speaking opportunities generated
- Add detailed education credentials with verification
- Implement professional certification display
- Create skills assessment and credential system
- Enhance awards and recognition showcase
- Redesign contact page with modern UI/UX
- Implement multi-channel contact integration
- Add file upload and collaboration features
- Integrate calendar and scheduling system
- Create dedicated bootcamp showcase section
- Implement interactive learning path visualization
- Add certification verification system
- Develop skill mapping and progress tracking
- Add detailed credentials to all education items
- Enhance experience items with detailed credentials
- Add comprehensive project credentials and outcomes
- Implement detailed publication credentials and metrics
- Add workshop credentials and learning outcomes
- Enhance certification items with verification and validity
- Add "Speaker Workshops" tab to main navigation header
- Create speaker workshop showcase page
- Implement workshop details and presentation materials
- Add speaking portfolio and impact metrics
- Integrate with existing workshop system
- Add responsive design for speaker workshop content
- Data Structure: Design scalable data models for credentials
- Verification System: Implement secure verification mechanisms
- Update Workflow: Create easy-to-use admin interface for credential updates
- Performance: Optimize credential loading and display
- Security: Implement secure form handling and data protection
- Integration: Connect with external services (email, messaging, calendar)
- User Experience: Ensure smooth and intuitive contact flow
- Analytics: Track contact form usage and success rates
- Data Management: Organize workshop and bootcamp data efficiently
- Visual Design: Create engaging visual representations of learning journey
- Interactivity: Implement interactive elements for better user engagement
- Mobile Responsiveness: Ensure optimal experience across all devices
- Data Structure: Design comprehensive credential data models for all content types
- Verification System: Implement secure verification mechanisms for all credentials
- Update Workflow: Create easy-to-use admin interface for credential updates across all sections
- Performance: Optimize credential loading and display for all content items
- Consistency: Ensure uniform credential display across all pages and sections
- Navigation Integration: Seamlessly integrate new tab into existing header navigation
- Content Management: Organize speaker workshop data with presentation materials
- Media Integration: Handle slides, recordings, and presentation resources
- Impact Tracking: Implement metrics and feedback collection for speaking engagements
- Responsive Design: Ensure optimal display across all devices and screen sizes
This project is open source and available under the MIT License.
Built with ❤️ using Vue.js, Vuetify, and Tailwind CSS