A minimalistic, responsive, and cool portfolio website showcasing physics and Canvas API projects. Built with modern web technologies for optimal performance and user experience.
- Responsive Design: Mobile-first approach with TailwindCSS
- Modern UI/UX: Clean, minimalistic design with smooth animations
- Interactive Elements: Hover effects, transitions, and micro-interactions
- Performance Optimized: Lightweight and fast loading
- HTML5 Semantic Structure: Accessible and SEO-friendly markup
- TailwindCSS: Utility-first CSS framework for rapid development
- Vanilla JavaScript: No frameworks, pure performance
- CSS Animations: Custom keyframes and smooth transitions
- Intersection Observer: Scroll-based animations and lazy loading
- Animated Background: Subtle blob animations in the header
- Project Grid: 3-column responsive layout for project showcase
- Hover Effects: Scale, shadow, and transform animations
- Color Gradients: Beautiful gradient backgrounds and buttons
- Typography: Inter font family for modern readability
- HTML5: Semantic markup and accessibility
- CSS3: Custom animations and responsive design
- TailwindCSS: Utility-first CSS framework
- JavaScript (ES6+): Interactive functionality and animations
- Google Fonts: Inter font family
- Mobile:
sm:(640px+) - Tablet:
md:(768px+) - Desktop:
lg:(1024px+) - Large Desktop:
xl:(1280px+)
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Local development server (optional, for testing)
-
Clone the repository:
git clone https://github.com/CodeByAshuu/fieldCanvas.git cd fieldCanvas -
Open
index.htmlin your browser or serve locally:# Using Python 3 python -m http.server 8000 # Using Node.js npx serve . # Using PHP php -S localhost:8000
-
Navigate to
http://localhost:8000in your browser
fieldCanvas/
βββ index.html # Main HTML file
βββ styles.css # Custom CSS styles and animations
βββ script.js # JavaScript functionality
βββ README.md # Project documentation
- Main Heading: "Canvas.js" with floating animation
- Subtitle: Project description and GitHub star request
- Animated Background: Subtle blob animations
- Action Buttons: Star, Fork, and Download repository
- 6 Project Cards: Physics and Canvas-based projects
- Responsive Layout: 1-3 columns based on screen size
- Interactive Elements: Hover effects and smooth transitions
- Project Information: Name, description, and action buttons
- Technology Credits: Built with love using modern web tech
- Copyright Information: Project ownership and rights
- Copy an existing project card structure
- Update the project image, name, and description
- Modify the gradient colors and emoji icon
- Update the Live Demo and Source Code links
- Update TailwindCSS classes in
index.html - Modify CSS custom properties in
styles.css - Adjust gradient values for backgrounds
- Modify keyframe animations in
styles.css - Update JavaScript timing in
script.js - Adjust transition durations and easing functions
The header features three animated blob elements that move in a smooth, organic pattern:
@keyframes blob {
0% { transform: translate(0px, 0px) scale(1); }
33% { transform: translate(30px, -50px) scale(1.1); }
66% { transform: translate(-20px, 20px) scale(0.9); }
100% { transform: translate(0px, 0px) scale(1); }
}Project cards fade in as they come into view:
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.style.opacity = '1';
entry.target.style.transform = 'translateY(0)';
}
});
});The project grid automatically adjusts columns based on screen size:
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8">- Chrome: 90+
- Firefox: 88+
- Safari: 14+
- Edge: 90+
- Lighthouse Score: 95+ (Performance, Accessibility, Best Practices, SEO)
- First Contentful Paint: < 1.5s
- Largest Contentful Paint: < 2.5s
- Cumulative Layout Shift: < 0.1
- HTML: Semantic and accessible markup
- CSS: BEM-like naming conventions with TailwindCSS
- JavaScript: ES6+ with modern browser APIs
- Accessibility: ARIA labels, semantic HTML, keyboard navigation
- Performance: Lazy loading, debounced events, optimized animations
- SEO: Meta tags, semantic structure, proper heading hierarchy
- Push code to main branch
- Enable GitHub Pages in repository settings
- Select source branch (main)
- Access at
https://username.github.io/fieldCanvas
- Connect GitHub repository
- Build command: (none required)
- Publish directory:
. - Deploy automatically on push
- Import GitHub repository
- Framework preset: Other
- Build command: (none required)
- Deploy automatically on push
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open source and available under the MIT License.
- TailwindCSS: Utility-first CSS framework
- Inter Font: Beautiful typography by Google Fonts
- Canvas API: HTML5 Canvas for interactive graphics
- Physics Simulations: Mathematical beauty in code
- GitHub: @CodeByAshuu
- Repository: fieldCanvas
- Issues: Report a bug
β Star this repository if you found it helpful! β