Compare commits

13 Commits

Author SHA1 Message Date
2985df3d43 add photo with hight resoltions and change the primary color 2026-01-26 23:28:09 +03:00
e6f4178346 general enhancements 2026-01-26 08:42:01 +03:00
c6762deb08 update info 2026-01-25 17:45:04 +03:00
Mohammed Al-yaseen
4cb683581a Adjust meow sound volume in cat-animation.js from 0.1 to 0.05 for improved audio balance. 2025-05-15 01:57:54 +03:00
Mohammed Al-yaseen
4b0cc378f9 Adjust cat sound volumes in cat-animation.js for better audio balance, setting meow to 0.1 and paw to 0, while removing the paw sound initialization. 2025-05-15 01:41:22 +03:00
Mohammed Al-yaseen
6e3339083c Improve click-scroll functionality by adding checks for section existence before accessing offsets, enhancing robustness against missing elements. Update scroll event handling for better performance and reliability. 2025-05-15 01:13:25 +03:00
Mohammed Al-yaseen
94d5eac08c Remove advertisement banners from the hero section in index.html, adjust formatting of ad links for consistency, and add a new script for cat animations. Update JavaScript component loading syntax for improved readability. 2025-05-15 01:11:33 +03:00
Mohammed Al-yaseen
72bcd414b6 Refactor index.html to modularize sections and add advertisement banners for hero, about, featured, projects, services, and contact sections. Enhance JavaScript to load components dynamically and improve CSS styles for ad banners. 2025-05-15 00:18:10 +03:00
Mohammed Al-yaseen
47603a3ebe Add advertisement section to contact page for promoting digital innovation services. 2025-05-15 00:09:08 +03:00
Mohammed Al-yaseen
9fbd81bc25 Revamp contact section layout and styles, introducing new contact info cards, a refined contact form, and enhanced CSS for improved aesthetics and responsiveness. 2025-05-15 00:07:12 +03:00
Mohammed Al-yaseen
9807e9dcc9 Refactor lightbox functionality to initialize only if elements exist, improving performance and preventing errors. Maintain existing event listeners for closing the lightbox and handling keyboard interactions. 2025-05-15 00:00:12 +03:00
Mohammed Al-yaseen
0576243aca Enhance image styles with brightness, contrast, and shadow effects for hero and about sections, and apply similar styles to the new happy-bearded-young-man image. 2025-05-14 23:53:14 +03:00
Mohammed Al-yaseen
9a0d5aa7d5 Refactor projects section layout for improved readability and consistency, update navbar styles for better responsiveness, and remove unused image assets. 2025-05-14 23:41:46 +03:00
19 changed files with 1973 additions and 438 deletions

View File

@@ -2,7 +2,7 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-lg-6 col-12"> <div class="col-lg-6 col-12">
<img src="images/DreamShaper_v7_A_group_of_people_from_different_backgrounds_an_2.jpg" class="about-image img-fluid" alt="" /> <img src="images/DreamShaper_v7_A_group_of_people_from_different_backgrounds_an_2.jpg" class="about-image img-fluid object-fit-cover" alt="" />
</div> </div>
<div class="col-lg-6 col-12 mt-5 mt-lg-0"> <div class="col-lg-6 col-12 mt-5 mt-lg-0">
@@ -15,36 +15,68 @@
<h3 class="pt-2 mb-3">A little bit about Mohammed</h3> <h3 class="pt-2 mb-3">A little bit about Mohammed</h3>
<p> <p>
👋 Greetings I'm Mohammed, a dedicated software engineer with a passion for creating innovative solutions. 👋 Greetings! I'm Mohammed, a Results-oriented Senior Frontend Engineer with 5+ years of experience building enterprise-scale web applications (Banking, ERP, Legal), specializing in React, Next.js, Angular, and TypeScript.
<br>
<br>
My journey in the field of Information Technology began at the Arab International University My journey in the field of Information Technology began at the Arab International University
in 2016, where I pursued a Bachelor's Degree in Computer Software Engineering, in 2016, where I pursued a Bachelor's Degree in Computer Software Engineering,
graduating in 2021. graduating in 2021.
<br> <br>
<h5> BPro Story </h5> <br>
Upon completion of my studies, I embarked on a project to develop an Enterprise Resource Planning (ERP) system. This <h5> Dataline - Law Firm (Current) </h5>
comprehensive system encompasses seven core components: Inventory Management, <strong>Frontend Developer (Full-time) | [31/08/2025 - Current] | Qatar</strong>
Purchasing, Sales, Customer Relationship Management (CRM), Finance, Payments, and <br>
Resources • Led the design and development of a full-scale law firm management system
<br>
• Built interactive dashboards, reusable CRUD templates, and automated reporting
<br>
• Implemented Azure AD authentication using MSAL
<br>
• Integrated Microsoft 365 services (SharePoint, Microsoft Graph)
<br>
• Designed role-based access control for sensitive legal data
<br>
• Managed CI/CD and production deployment using Firebase Hosting
<br>
<a href="https://dataline-qa.com/" target="_blank">Website: dataline-qa.com</a>
<br> <br>
<br> <br>
<h5> Almuthafar Story </h5> <h5> Easy-pay - ERP System </h5>
For <a href="https://www.bayantechnologies.com/"> Bayan Digital Hub </a> (Kuwaiti AWS startup, Oracle Partner ): Develop a platform for <strong>Frontend Developer (Full-time) | [06/2024 - 06/2025] | Damascus</strong>
managing and tracking law case processes, clients, lawyers, and the administration processes, producing <br>
the results as PDF reports, and making sure that the case processes run smoothly and • Developed ERP features for reservations, invoicing, and inventory management
organized. <br>
• Implemented government tax integration and financial reporting
<br>
• Built dashboards for sales, inventory, payments, and accounting logs
<br>
• Collaborated with backend teams to ensure data accuracy and consistency
<br> <br>
<br> <br>
<h5> Big-dash Story </h5> <h5> Big-dash - Banking System </h5>
Engaging in developing a comprehensive banking system ( for <a href="https://moneyout.com.tr"> Moneyout Elektronik Para ve <strong>Frontend Developer (Full-time) | [09/2023 - 11/2024] | Turkey</strong>
Ödeme Hizmetleri A.Ş </a>) aimed at facilitating financial transactions across various branches, <br>
incorporating digital wallet functionalities, and supporting transactions executed in • Developed an enterprise banking system supporting multi-currency transactions and digital wallets
multiple currencies. <br>
• Built user-friendly interfaces using Angular and Angular Material
<br>
• Managed complex application state using NgRx
<br>
• Implemented theme customization and reusable UI components
<br>
<a href="https://big-dash.tu" target="_blank">Website: big-dash.tu</a>
<br> <br>
<br> <br>
<h5> Easy-pay Story </h5> <h5> Almuthafar - Law Office Management System </h5>
For <a href="https://www.facebook.com/MONALISA.SYRIA"> Monalisa restaurant in Damascus </a>, the system includes managing reservations, tables, <strong>Frontend Developer (Freelance) | [03/2023 - 06/2023] | Kuwait</strong>
products, invoices, government tax integration, debits, and producing different types of reports like <br>
sales and logs of payments. For <a href="https://almuthafargroup.com/" target="_blank">Bayan Digital Hub</a> (Kuwaiti AWS startup, Oracle Partner): Developed a platform for managing and tracking law case processes, clients, lawyers, and the administration processes, producing the results as PDF reports, and making sure that the case processes run smoothly and organized.
<br>
<br>
<h5> BPro - ERP System </h5>
<strong>Frontend Developer (Full-time) | [03/2021 - 10/2023] | Dubai, UAE</strong>
<br>
Developed an Enterprise Resource Planning (ERP) system encompassing seven core components: Inventory Management, Purchasing, Sales, Customer Relationship Management (CRM), Finance, Payments, and Resources. Responsibilities included designing intuitive interfaces using the Antd UI library, ensuring secure financial calculations through Big.js library, and end-to-end testing utilizing Cypress.
</p> </p>
</div> </div>
</div> </div>

View File

@@ -0,0 +1 @@

37
components/ads.html Normal file
View File

@@ -0,0 +1,37 @@
<!-- Vertical Ad Banner -->
<div class="vertical-ad-banner">
<div class="ad-content">
<div class="ad-icon">
<i class="bi bi-rocket-takeoff"></i>
</div>
<h4>Company</h4>
<p>Transform Your Business with Our Solutions</p>
<a href="#" class="ad-link">Explore Now <i class="bi bi-arrow-right"></i></a>
</div>
</div>
<!-- Horizontal Ad Banner -->
<div class="horizontal-ad-banner">
<div class="ad-content">
<div class="ad-icon">
<i class="bi bi-graph-up-arrow"></i>
</div>
<div class="ad-text">
<h4>Boost Your Growth</h4>
<p>Partner with Company for Digital Excellence</p>
</div>
<a href="#" class="ad-link">Get Started <i class="bi bi-arrow-right"></i></a>
</div>
</div>
<!-- Feature Ad Banner -->
<div class="feature-ad-banner">
<div class="ad-content">
<div class="ad-icon">
<i class="bi bi-shield-check"></i>
</div>
<h4>Secure Solutions</h4>
<p>Trusted by Industry Leaders</p>
<a href="#" class="ad-link">Learn More <i class="bi bi-arrow-right"></i></a>
</div>
</div>

View File

@@ -1,29 +1,136 @@
<section class="contact section-padding" id="section_5"> <section class="contact section-padding" id="section_5">
<div class="container"> <div class="container">
<div class="row"> <div class="row justify-content-center">
<div class="col-12"> <div class="col-lg-8 col-md-10 col-12 text-center">
<div class="section-title-wrap d-flex justify-content-center align-items-center mb-5"> <div class="section-title-wrap d-flex justify-content-center align-items-center mb-5">
<img src="images/happy-bearded-young-man.jpg" class="avatar-image img-fluid" alt="" /> <img src="images/white-desk-work-study-aesthetics.jpg" class="avatar-image img-fluid" alt="" />
<h2 class="text-white ms-4 mb-0">Get In Touch</h2>
<h2 class="text-white ms-4 mb-0">Contact Me</h2> </div>
</div> </div>
</div> </div>
<div class="col-lg-8 col-12 mx-auto"> <div class="row justify-content-center">
<div class="custom-form contact-form" action="#" method="post" role="form"> <div class="col-lg-12 col-md-12 col-12">
<div class="contact-wrapper">
<div class="row">
<!-- Contact Info Cards -->
<div class="col-lg-4 col-md-12 col-12">
<div class="contact-info-cards">
<div class="contact-info-card">
<div class="contact-info-icon">
<i class="bi bi-geo-alt"></i>
</div>
<div class="contact-info-content">
<h4>Location</h4>
<p>Damascus, Syria</p>
</div>
</div>
<div class="contact-info-card">
<div class="contact-info-icon">
<i class="bi bi-envelope"></i>
</div>
<div class="contact-info-content">
<h4>Email</h4>
<p><a href="mailto:mohammed.o.alyaseen@gmail.com">mohammed.o.alyaseen@gmail.com</a></p>
</div>
</div>
<div class="contact-info-card">
<div class="contact-info-icon">
<i class="bi bi-telephone"></i>
</div>
<div class="contact-info-content">
<h4>Phone</h4>
<p><a href="tel:+963-962-469-482">+963-962-469-482</a></p>
</div>
</div>
<div class="contact-info-card">
<div class="contact-info-icon">
<i class="bi bi-person"></i>
</div>
<div class="contact-info-content">
<h4>Name</h4>
<p>Mohammed Al-yaseen</p>
</div>
</div>
<!-- Company Ad -->
<!-- <div class="tech-masters-ad">
<div class="ad-content">
<div class="ad-icon">
<i class="bi bi-cpu"></i>
</div>
<h4>Company</h4>
<p>Your Trusted Partner in Digital Innovation</p>
<a href="#" class="ad-link">Learn More <i class="bi bi-arrow-right"></i></a>
</div>
</div> -->
<div class="contact-social">
<h4>Follow Me</h4>
<div class="social-icon">
<ul class="list-inline">
<li class="list-inline-item">
<a href="https://www.linkedin.com/in/mohammed-al-yaseen-79b056161/" class="social-icon-link" target="_blank">
<i class="bi bi-linkedin"></i>
</a>
</li>
<li class="list-inline-item">
<a href="https://github.com/mohammed-alyaseen" class="social-icon-link" target="_blank">
<i class="bi bi-github"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<!-- Contact Form -->
<div class="col-lg-8 col-md-12 col-12">
<div class="contact-form">
<h3 class="form-title">Send Me a Message</h3>
<form class="custom-form" action="#" method="post" role="form">
<div class="row"> <div class="row">
<div class="col-lg-6 col-md-6 col-12"> <div class="col-lg-6 col-md-6 col-12">
<input type="text" name="name" id="name" class="form-control" placeholder="Name" required="" /> <div class="form-floating">
<input type="text" name="name" id="name" class="form-control" placeholder="Name" required />
<label for="name">Name</label>
</div>
</div> </div>
<div class="col-lg-6 col-md-6 col-12"> <div class="col-lg-6 col-md-6 col-12">
<input type="email" name="email" id="email" pattern="[^ @]*@[^ @]*" class="form-control" placeholder="Email" required="" /> <div class="form-floating">
<input type="email" name="email" id="email" class="form-control" placeholder="Email" required />
<label for="email">Email</label>
</div>
</div> </div>
<div class="col-12"> <div class="col-12">
<textarea name="message" rows="6" class="form-control" id="message" placeholder="Message"></textarea> <div class="form-floating">
<input type="text" name="subject" id="subject" class="form-control" placeholder="Subject" required />
<label for="subject">Subject</label>
</div>
</div>
<button type="submit" class="form-control">Send Message</button> <div class="col-12">
<div class="form-floating">
<textarea name="message" id="message" class="form-control" placeholder="Message" required></textarea>
<label for="message">Message</label>
</div>
</div>
<div class="col-12">
<button type="submit" class="custom-btn custom-border-btn">
<span>Send Message</span>
<i class="bi bi-arrow-right"></i>
</button>
</div>
</div>
</form>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -30,8 +30,8 @@
<div class="profile-info-item"> <div class="profile-info-item">
<span class="profile-small-title">Email</span> <span class="profile-small-title">Email</span>
<span class="profile-value"> <span class="profile-value">
<a href="mailto:mohammed.alyaseen.it@gmail.com" class="profile-link"> <a href="mailto:mohammed.o.alyaseen@gmail.com" class="profile-link">
<i class="bi bi-envelope-fill me-2"></i>mohammed.alyaseen.it@gmail.com <i class="bi bi-envelope-fill me-2"></i>mohammed.o.alyaseen@gmail.com
</a> </a>
</span> </span>
</div> </div>
@@ -39,7 +39,16 @@
<div class="profile-info-item"> <div class="profile-info-item">
<span class="profile-small-title">Location</span> <span class="profile-small-title">Location</span>
<span class="profile-value"> <span class="profile-value">
<i class="bi bi-geo-alt-fill me-2"></i>Istanbul, Turkey <i class="bi bi-geo-alt-fill me-2"></i>Damascus, Syria
</span>
</div>
<div class="profile-info-item">
<span class="profile-small-title">Website</span>
<span class="profile-value">
<a href="https://tech-masters.guru/portfolio/mohammed-alyaseen" class="profile-link" target="_blank">
<i class="bi bi-globe me-2"></i>tech-masters.guru/portfolio/mohammed-alyaseen
</a>
</span> </span>
</div> </div>
@@ -64,9 +73,9 @@
<div class="col-lg-6 col-12 mt-5 mt-lg-0"> <div class="col-lg-6 col-12 mt-5 mt-lg-0">
<div class="about-thumb"> <div class="about-thumb">
<div class="row"> <div class="row">
<div class="col-lg-6 col-6 featured-border-bottom py-3"> <div class="col-lg-6 col-6 featured-border-bottom pb-4">
<div class="featured-item"> <div class="featured-item">
<strong class="featured-numbers">4+</strong> <strong class="featured-numbers">5+</strong>
<p class="featured-text">Years of Experience</p> <p class="featured-text">Years of Experience</p>
<div class="featured-icon"> <div class="featured-icon">
<i class="bi bi-briefcase-fill"></i> <i class="bi bi-briefcase-fill"></i>
@@ -74,7 +83,7 @@
</div> </div>
</div> </div>
<div class="col-lg-6 col-6 featured-border-start featured-border-bottom ps-5 py-3"> <div class="col-lg-6 col-6 featured-border-start featured-border-bottom pb-4">
<div class="featured-item"> <div class="featured-item">
<strong class="featured-numbers">5+</strong> <strong class="featured-numbers">5+</strong>
<p class="featured-text">Happy Customers</p> <p class="featured-text">Happy Customers</p>
@@ -94,7 +103,7 @@
</div> </div>
</div> </div>
<div class="col-lg-6 col-6 featured-border-start ps-5 pt-4"> <div class="col-lg-6 col-6 featured-border-start pt-4">
<div class="featured-item"> <div class="featured-item">
<strong class="featured-numbers">7+</strong> <strong class="featured-numbers">7+</strong>
<p class="featured-text">Digital Awards</p> <p class="featured-text">Digital Awards</p>

View File

@@ -1,14 +1,94 @@
<footer class="site-footer"> <footer class="site-footer">
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-lg-12 col-12"> <!-- Footer Brand & Description -->
<div class="copyright-text-wrap"> <div class="col-lg-4 col-md-6 col-12 mb-4 mb-lg-0">
<p class="mb-0"> <div class="footer-brand">
<span class="copyright-text">Copyright © 2024 <a href="#">Mohammed</a> Company. All rights reserved.</span> <h3 class="footer-brand-name">Mohammed Al-yaseen</h3>
<span class="copyright-text">Design: <a href="https://templatemo.com" target="_blank">TemplateMo</a></span> <p class="footer-description">
Senior Frontend Developer passionate about building exceptional user experiences
and scalable web applications.
</p> </p>
</div> </div>
</div> </div>
<!-- Quick Links -->
<div class="col-lg-2 col-md-6 col-12 mb-4 mb-lg-0">
<h4 class="footer-heading">Quick Links</h4>
<ul class="footer-menu">
<li class="footer-menu-item">
<a href="#section_1" class="footer-menu-link click-scroll">Home</a>
</li>
<li class="footer-menu-item">
<a href="#section_2" class="footer-menu-link click-scroll">About</a>
</li>
<li class="footer-menu-item">
<a href="#section_3" class="footer-menu-link click-scroll">Services</a>
</li>
<li class="footer-menu-item">
<a href="#section_4" class="footer-menu-link click-scroll">Projects</a>
</li>
<li class="footer-menu-item">
<a href="#section_5" class="footer-menu-link click-scroll">Contact</a>
</li>
</ul>
</div>
<!-- Contact Info -->
<div class="col-lg-3 col-md-6 col-12 mb-4 mb-lg-0">
<h4 class="footer-heading">Get In Touch</h4>
<ul class="footer-contact">
<li class="footer-contact-item">
<i class="bi bi-envelope-fill"></i>
<a href="mailto:mohammed.o.alyaseen@gmail.com">mohammed.o.alyaseen@gmail.com</a>
</li>
<li class="footer-contact-item">
<i class="bi bi-telephone-fill"></i>
<a href="tel:+963-962-469-482">+963-962-469-482</a>
</li>
<li class="footer-contact-item">
<i class="bi bi-geo-alt-fill"></i>
<span>Damascus, Syria</span>
</li>
</ul>
</div>
<!-- Social Media -->
<div class="col-lg-3 col-md-6 col-12">
<h4 class="footer-heading">Follow Me</h4>
<div class="footer-social">
<ul class="social-icon">
<li class="social-icon-item">
<a href="https://www.linkedin.com/in/mohammed-al-yaseen-79b056161/"
class="social-icon-link"
target="_blank"
aria-label="LinkedIn">
<i class="bi bi-linkedin"></i>
</a>
</li>
<li class="social-icon-item">
<a href="https://github.com/mohammed-alyaseen"
class="social-icon-link"
target="_blank"
aria-label="GitHub">
<i class="bi bi-github"></i>
</a>
</li>
<li class="social-icon-item">
<a href="https://www.facebook.com/profile.php?id=100010330412662"
class="social-icon-link"
target="_blank"
aria-label="Facebook">
<i class="bi bi-facebook"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<!-- Copyright -->
</div> </div>
</div> </div>
</footer> </footer>

View File

@@ -20,7 +20,7 @@
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
</button> </button>
<a href="index.html" class="navbar-brand mx-auto mx-lg-0">First</a> <a href="index.html" class="navbar-brand mx-auto mx-lg-0">M</a>
<div class="d-flex align-items-center d-lg-none"> <div class="d-flex align-items-center d-lg-none">
<i class="navbar-icon bi-telephone-plus me-3"></i> <i class="navbar-icon bi-telephone-plus me-3"></i>

View File

@@ -1,27 +1,25 @@
<section class="hero d-flex justify-content-center align-items-center" id="section_1"> <section class="hero d-flex justify-content-center align-items-center" id="section_1">
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-lg-7 col-12"> <div class="col-lg-12 col-12">
<div class="hero-text"> <div class="hero-text">
<div class="hero-title-wrap d-flex align-items-center mb-4"> <div class="hero-title-wrap d-flex align-items-center mb-4">
<img src="images/happy-bearded-young-man.jpg" class="avatar-image avatar-image-large img-fluid" alt="" /> <div class="hero-image-wrapper position-relative me-4">
<h5 class="hero-title ms-3 mb-0">Hello friend!</h5> <img src="images/happy-bearded-young-man.jpg" class="hero-image img-fluid object-fit-cover" alt="" />
</div>
<h5 class="hero-title mb-0">Hello friend!</h5>
</div> </div>
<h2 class="mb-4">I'm available for freelance work.</h2> <h2 class="mb-4">Senior Frontend Engineer with 5+ years of experience</h2>
<p class="mb-4"> <p class="mb-4">
<a class="custom-btn btn custom-link" href="#section_2">Let's begin</a> <a class="custom-btn btn custom-link" href="#section_2">Let's begin</a>
</p> </p>
</div> </div>
</div> </div>
<div class="col-lg-5 col-12 position-relative">
<img src="images/National Geographic on Instagram Photo by Stephe.jpg" class="hero-image img-fluid" alt="" />
</div>
</div> </div>
</div> </div>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">
<path fill="#535da1" fill-opacity="1" d="M0,160L24,160C48,160,96,160,144,138.7C192,117,240,75,288,64C336,53,384,75,432,106.7C480,139,528,181,576,208C624,235,672,245,720,240C768,235,816,213,864,186.7C912,160,960,128,1008,133.3C1056,139,1104,181,1152,202.7C1200,224,1248,224,1296,197.3C1344,171,1392,117,1416,90.7L1440,64L1440,0L1416,0C1392,0,1344,0,1296,0C1248,0,1200,0,1152,0C1104,0,1056,0,1008,0C960,0,912,0,864,0C816,0,768,0,720,0C672,0,624,0,576,0C528,0,480,0,432,0C384,0,336,0,288,0C240,0,192,0,144,0C96,0,48,0,24,0L0,0Z"></path> <path fill="#6c757d" fill-opacity="1" d="M0,160L24,160C48,160,96,160,144,138.7C192,117,240,75,288,64C336,53,384,75,432,106.7C480,139,528,181,576,208C624,235,672,245,720,240C768,235,816,213,864,186.7C912,160,960,128,1008,133.3C1056,139,1104,181,1152,202.7C1200,224,1248,224,1296,197.3C1344,171,1392,117,1416,90.7L1440,64L1440,0L1416,0C1392,0,1344,0,1296,0C1248,0,1200,0,1152,0C1104,0,1056,0,1008,0C960,0,912,0,864,0C816,0,768,0,720,0C672,0,624,0,576,0C528,0,480,0,432,0C384,0,336,0,288,0C240,0,192,0,144,0C96,0,48,0,24,0L0,0Z"></path>
</svg> </svg>
</section> </section>

View File

@@ -2,21 +2,17 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-lg-8 col-md-8 col-12 ms-auto"> <div class="col-lg-8 col-md-8 col-12 ms-auto">
<div <div class="section-title-wrap d-flex justify-content-center align-items-center mb-4">
class="section-title-wrap d-flex justify-content-center align-items-center mb-4" <img src="images/white-desk-work-study-aesthetics.jpg" class="avatar-image img-fluid" alt="" />
>
<img
src="images/white-desk-work-study-aesthetics.jpg"
class="avatar-image img-fluid"
alt=""
/>
<h2 class="text-white ms-4 mb-0">Projects</h2> <h2 class="text-white ms-4 mb-0">Projects</h2>
</div> </div>
</div> </div>
</div>
<div class="clearfix"></div> <div class="clearfix"></div>
<div class="row">
<!-- Law Office Login -->
<div class="col-lg-4 col-md-6 col-12"> <div class="col-lg-4 col-md-6 col-12">
<div class="projects-thumb"> <div class="projects-thumb">
<div class="projects-info"> <div class="projects-info">
@@ -34,6 +30,7 @@
</div> </div>
</div> </div>
<!-- Easy-pay Login -->
<div class="col-lg-4 col-md-6 col-12"> <div class="col-lg-4 col-md-6 col-12">
<div class="projects-thumb"> <div class="projects-thumb">
<div class="projects-info"> <div class="projects-info">
@@ -51,6 +48,7 @@
</div> </div>
</div> </div>
<!-- Cloths Ecommerce -->
<div class="col-lg-4 col-md-6 col-12"> <div class="col-lg-4 col-md-6 col-12">
<div class="projects-thumb"> <div class="projects-thumb">
<div class="projects-info"> <div class="projects-info">
@@ -68,116 +66,91 @@
</div> </div>
</div> </div>
<!-- Law Office -->
<div class="col-lg-4 col-md-6 col-12"> <div class="col-lg-4 col-md-6 col-12">
<div class="projects-thumb"> <div class="projects-thumb">
<div class="projects-info"> <div class="projects-info">
<small class="projects-tag">Website</small> <small class="projects-tag">Website</small>
<h3 class="projects-title">Law Office</h3> <h3 class="projects-title">Law Office</h3>
</div> </div>
<a <a href="images/projects/law-office-home.png" class="popup-image">
href="images/projects/law-office-home.png" <img src="images/projects/law-office-home.png" class="projects-image img-fluid" alt="law office" />
class="popup-image"
>
<img
src="images/projects/law-office-home.png"
class="projects-image img-fluid"
alt="law office"
/>
</a> </a>
</div> </div>
</div> </div>
<!-- SVU E-commerce -->
<div class="col-lg-4 col-md-6 col-12"> <div class="col-lg-4 col-md-6 col-12">
<div class="projects-thumb"> <div class="projects-thumb">
<div class="projects-info"> <div class="projects-info">
<small class="projects-tag">Website</small> <small class="projects-tag">Website</small>
<h3 class="projects-title">SVU E-commerce</h3> <h3 class="projects-title">SVU E-commerce</h3>
</div> </div>
<a <a href="images/projects/svu-hw.png" class="popup-image">
href="images/projects/svu-hw.png" <img src="images/projects/svu-hw.png" class="projects-image img-fluid" alt="" />
class="popup-image"
>
<img
src="images/projects/svu-hw.png"
class="projects-image img-fluid"
alt=""
/>
</a> </a>
</div> </div>
</div> </div>
<!-- NANS's CRM -->
<div class="col-lg-4 col-md-6 col-12"> <div class="col-lg-4 col-md-6 col-12">
<div class="projects-thumb"> <div class="projects-thumb">
<div class="projects-info"> <div class="projects-info">
<small class="projects-tag">Website</small> <small class="projects-tag">Website</small>
<h3 class="projects-title">NANS's CRM</h3> <h3 class="projects-title">NANS's CRM</h3>
</div> </div>
<a <a href="images/projects/nanas-main-dashboard.png" class="popup-image">
href="images/projects/nanas-main-dashboard.png" <img src="images/projects/nanas-main-dashboard.png" class="projects-image img-fluid" alt="" />
class="popup-image"
>
<img
src="images/projects/nanas-main-dashboard.png"
class="projects-image img-fluid"
alt=""
/>
</a> </a>
</div> </div>
</div> </div>
<!-- Majsin's Restaurant -->
<div class="col-lg-4 col-md-6 col-12"> <div class="col-lg-4 col-md-6 col-12">
<div class="projects-thumb"> <div class="projects-thumb">
<div class="projects-info"> <div class="projects-info">
<small class="projects-tag">Website</small> <small class="projects-tag">Website</small>
<h3 class="projects-title">Majsin's Restaurant</h3> <h3 class="projects-title">Majsin's Restaurant</h3>
</div> </div>
<a <a href="images/projects/majsin-dashborad.png" class="popup-image">
href="images/projects/majsin-dashborad.png" <img src="images/projects/majsin-dashborad.png" class="projects-image img-fluid" alt="" />
class="popup-image"
>
<img
src="images/projects/majsin-dashborad.png"
class="projects-image img-fluid"
alt=""
/>
</a> </a>
</div> </div>
</div> </div>
<!-- BPro's ERP System -->
<div class="col-lg-4 col-md-6 col-12"> <div class="col-lg-4 col-md-6 col-12">
<div class="projects-thumb"> <div class="projects-thumb">
<div class="projects-info"> <div class="projects-info">
<small class="projects-tag">Website</small> <small class="projects-tag">Website</small>
<h3 class="projects-title">BPro's ERP System</h3> <h3 class="projects-title">BPro's ERP System</h3>
</div> </div>
<a href="images/projects/bpro-erp.jpg" class="popup-image"> <a href="images/projects/bpro-erp.png" class="popup-image">
<img <img src="images/projects/bpro-erp.png" class="projects-image img-fluid" alt="" />
src="images/projects/bpro-erp.jpg"
class="projects-image img-fluid"
alt=""
/>
</a> </a>
</div> </div>
</div> </div>
<!-- Moneyout Bank -->
<div class="col-lg-4 col-md-6 col-12"> <div class="col-lg-4 col-md-6 col-12">
<div class="projects-thumb"> <div class="projects-thumb">
<div class="projects-info"> <div class="projects-info">
<small class="projects-tag">Website</small> <small class="projects-tag">Website</small>
<h3 class="projects-title">Moneyout Bank</h3> <h3 class="projects-title">Moneyout Bank</h3>
</div> </div>
<a <a href="images/projects/moneyout.png" class="popup-image">
href="images/projects/moneyout.png" <img src="images/projects/moneyout.png" class="projects-image img-fluid" alt="" />
class="popup-image"
>
<img
src="images/projects/moneyout.png"
class="projects-image img-fluid"
alt=""
/>
</a> </a>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</section>
<!-- Lightbox -->
<div class="lightbox">
<div class="lightbox-content">
<img src="" alt="" class="lightbox-image">
<span class="lightbox-close">&times;</span>
</div>
</div>
</section>

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 KiB

After

Width:  |  Height:  |  Size: 1.7 MiB

View File

Before

Width:  |  Height:  |  Size: 2.1 MiB

After

Width:  |  Height:  |  Size: 2.1 MiB

View File

@@ -23,31 +23,91 @@
</head> </head>
<body> <body>
<!-- Include Header --> <!-- Header -->
<div id="header"></div> <div id="header"></div>
<main> <main>
<!-- Include Hero Section --> <!-- Hero Section -->
<div id="hero"></div> <section id="hero"></section>
<!-- Include About Section --> <!-- About Section -->
<div id="about"></div> <section id="about"></section>
<!-- <aside class="about-ad">
<div class="horizontal-ad-banner">
<div class="ad-content">
<div class="ad-icon">
<i class="bi bi-graph-up-arrow"></i>
</div>
<div class="ad-text">
<h4>Boost Your Growth</h4>
<p>Partner with Company for Digital Excellence</p>
</div>
<a href="#" class="ad-link"
>Get Started <i class="bi bi-arrow-right"></i
></a>
</div>
</div>
</aside> -->
<!-- Include Featured Section --> <!-- Featured Section -->
<div id="featured"></div> <section id="featured"></section>
<!-- <aside class="featured-ad">
<div class="feature-ad-banner">
<div class="ad-content">
<div class="ad-icon">
<i class="bi bi-shield-check"></i>
</div>
<h4>Secure Solutions</h4>
<p>Trusted by Industry Leaders</p>
<a href="#" class="ad-link"
>Learn More <i class="bi bi-arrow-right"></i
></a>
</div>
</div>
</aside> -->
<!-- Include Projects Section --> <!-- Projects Section -->
<div id="projects"></div> <section id="projects"></section>
<!-- <aside class="projects-ad">
<div class="horizontal-ad-banner">
<div class="ad-content">
<div class="ad-icon">
<i class="bi bi-lightning-charge"></i>
</div>
<div class="ad-text">
<h4>Fast Development</h4>
<p>Accelerate Your Project Timeline</p>
</div>
<a href="#" class="ad-link"
>Start Now <i class="bi bi-arrow-right"></i
></a>
</div>
</div>
</aside> -->
<!-- Include Services Section --> <!-- Services Section -->
<div id="services"></div> <section id="services"></section>
<!-- <aside class="services-ad">
<div class="feature-ad-banner">
<div class="ad-content">
<div class="ad-icon">
<i class="bi bi-gear"></i>
</div>
<h4>Premium Services</h4>
<p>Expert Solutions for Your Business</p>
<a href="#" class="ad-link"
>Discover More <i class="bi bi-arrow-right"></i
></a>
</div>
</div>
</aside> -->
<!-- Include Contact Section --> <!-- Contact Section -->
<div id="contact"></div> <section id="contact"></section>
</main> </main>
<!-- Include Footer --> <!-- Footer -->
<div id="footer"></div> <footer id="footer"></footer>
<!-- JAVASCRIPT FILES --> <!-- JAVASCRIPT FILES -->
<script src="js/jquery.min.js"></script> <script src="js/jquery.min.js"></script>
@@ -57,19 +117,26 @@
<script src="js/jquery.magnific-popup.min.js"></script> <script src="js/jquery.magnific-popup.min.js"></script>
<script src="js/magnific-popup-options.js"></script> <script src="js/magnific-popup-options.js"></script>
<script src="js/custom.js"></script> <script src="js/custom.js"></script>
<script src="js/cat-animation.js"></script>
<!-- Load Components --> <!-- Load Components -->
<script> <script>
$(document).ready(function () { $(document).ready(function () {
// Load components const components = {
$("#header").load("components/header.html"); header: "components/header.html",
$("#hero").load("components/hero.html"); hero: "components/hero.html",
$("#about").load("components/about.html"); about: "components/about.html",
$("#featured").load("components/featured.html"); featured: "components/featured.html",
$("#services").load("components/services.html"); services: "components/services.html",
$("#projects").load("components/projects.html"); projects: "components/projects.html",
$("#contact").load("components/contact.html"); contact: "components/contact.html",
$("#footer").load("components/footer.html"); footer: "components/footer.html",
};
// Load all components
Object.entries(components).forEach(([id, path]) => {
$(`#${id}`).load(path);
});
}); });
</script> </script>
</body> </body>

279
js/cat-animation.js Normal file
View File

@@ -0,0 +1,279 @@
class Cat {
constructor(canvas, x, y, scale = 1, color = 'default') {
this.canvas = canvas;
this.ctx = canvas.getContext('2d');
this.x = x;
this.y = y;
this.scale = scale;
this.color = color;
this.direction = 1;
this.speed = 2;
this.frame = 0;
this.frameCount = 8;
this.frameWidth = 64;
this.frameHeight = 64;
this.isPaused = false;
this.pauseTimer = 0;
this.pauseDuration = 0;
this.pawPrints = [];
this.lastPawPrint = 0;
this.lastMeow = 0;
this.meowCooldown = 3000; // 3 seconds between meows
// Initialize sounds with error handling
this.sounds = {
meow: null,
purr: null,
paw: null
};
// Create audio elements with error handling
try {
this.sounds.meow = new Audio('sounds/meow.wav');
// Set volume for each sound
this.sounds.meow.volume = 0.05;
this.sounds.paw.volume = 0;
// Add error handling for each sound
Object.entries(this.sounds).forEach(([key, sound]) => {
if (sound) {
sound.addEventListener('error', (e) => {
console.warn(`Error loading ${key} sound:`, e);
});
}
});
} catch (error) {
console.warn('Error initializing sounds:', error);
}
}
playSound(soundName) {
try {
const sound = this.sounds[soundName];
if (sound) {
sound.currentTime = 0;
sound.play().catch(error => {
console.warn(`Error playing ${soundName} sound:`, error);
});
}
} catch (error) {
console.warn(`Error playing ${soundName} sound:`, error);
}
}
update() {
if (this.isPaused) {
this.pauseTimer++;
if (this.pauseTimer >= this.pauseDuration) {
this.isPaused = false;
this.pauseTimer = 0;
}
return;
}
// Random pause and meow
if (Math.random() < 0.005) {
this.isPaused = true;
this.pauseDuration = Math.random() * 100 + 100;
// Random meow during pause
if (Date.now() - this.lastMeow > this.meowCooldown) {
this.playSound('meow');
this.lastMeow = Date.now();
}
}
// Update position
this.x += this.speed * this.direction;
// Change direction at edges
if (this.x >= this.canvas.width - this.frameWidth * this.scale) {
this.direction = -1;
this.playSound('paw');
} else if (this.x <= 0) {
this.direction = 1;
this.playSound('paw');
}
// Update animation frame
this.frame = (this.frame + 0.2) % this.frameCount;
// Add paw prints with sound
if (Date.now() - this.lastPawPrint > 200) {
this.addPawPrint();
this.lastPawPrint = Date.now();
// Play paw sound occasionally
if (Math.random() < 0.3) {
this.playSound('paw');
}
}
// Update paw prints
this.pawPrints = this.pawPrints.filter(print => {
print.opacity -= 0.02;
return print.opacity > 0;
});
}
draw() {
// Draw paw prints
this.pawPrints.forEach(print => {
this.ctx.globalAlpha = print.opacity;
this.ctx.fillStyle = '#000';
this.ctx.beginPath();
this.ctx.arc(print.x, print.y, 3, 0, Math.PI * 2);
this.ctx.fill();
});
this.ctx.globalAlpha = 1;
// Draw cat
this.ctx.save();
this.ctx.translate(this.x, this.y);
this.ctx.scale(this.direction * this.scale, this.scale);
// Draw cat body
this.ctx.fillStyle = this.color === 'default' ? '#666' :
this.color === 'orange' ? '#FFA500' : '#000';
// Body
this.ctx.beginPath();
this.ctx.ellipse(32, 40, 20, 15, 0, 0, Math.PI * 2);
this.ctx.fill();
// Head
this.ctx.beginPath();
this.ctx.arc(15, 35, 12, 0, Math.PI * 2);
this.ctx.fill();
// Ears
this.ctx.beginPath();
this.ctx.moveTo(8, 28);
this.ctx.lineTo(5, 20);
this.ctx.lineTo(12, 28);
this.ctx.fill();
this.ctx.beginPath();
this.ctx.moveTo(22, 28);
this.ctx.lineTo(25, 20);
this.ctx.lineTo(18, 28);
this.ctx.fill();
// Tail
this.ctx.beginPath();
this.ctx.moveTo(52, 40);
this.ctx.quadraticCurveTo(60, 30, 65, 40);
this.ctx.strokeStyle = this.ctx.fillStyle;
this.ctx.lineWidth = 4;
this.ctx.stroke();
// Legs (animated)
const legOffset = Math.sin(this.frame * 0.5) * 5;
this.ctx.beginPath();
this.ctx.moveTo(25, 55);
this.ctx.lineTo(25, 55 + legOffset);
this.ctx.moveTo(35, 55);
this.ctx.lineTo(35, 55 - legOffset);
this.ctx.moveTo(45, 55);
this.ctx.lineTo(45, 55 + legOffset);
this.ctx.strokeStyle = this.ctx.fillStyle;
this.ctx.lineWidth = 3;
this.ctx.stroke();
this.ctx.restore();
}
addPawPrint() {
const offset = this.direction === 1 ? 20 : -20;
this.pawPrints.push({
x: this.x + offset,
y: this.y + this.frameHeight * this.scale - 5,
opacity: 0.5
});
}
isPointInside(x, y) {
return x >= this.x &&
x <= this.x + this.frameWidth * this.scale &&
y >= this.y &&
y <= this.y + this.frameHeight * this.scale;
}
interact(x, y) {
if (this.isPointInside(x, y)) {
this.isPaused = true;
this.pauseDuration = 100;
// Play purr sound when petted
this.playSound('purr');
// Occasionally meow when petted
if (Math.random() < 0.3 && Date.now() - this.lastMeow > this.meowCooldown) {
this.playSound('meow');
this.lastMeow = Date.now();
}
return true;
}
return false;
}
}
// Initialize cat animation
document.addEventListener('DOMContentLoaded', function() {
const container = document.createElement('div');
container.id = 'cat-container';
container.style.cssText = `
position: fixed;
bottom: 0;
left: 0;
width: 100%;
height: 100px;
pointer-events: none;
z-index: 9999;
`;
document.body.appendChild(container);
const canvas = document.createElement('canvas');
canvas.width = window.innerWidth;
canvas.height = 100;
container.appendChild(canvas);
const ctx = canvas.getContext('2d');
const cats = [
new Cat(canvas, 0, 20, 1, 'default'),
new Cat(canvas, 200, 10, 0.8, 'orange'),
new Cat(canvas, 400, 30, 1.2, 'black')
];
// Handle window resize
window.addEventListener('resize', () => {
canvas.width = window.innerWidth;
});
// Handle mouse interaction
canvas.style.pointerEvents = 'auto';
canvas.addEventListener('click', (e) => {
const rect = canvas.getBoundingClientRect();
const x = e.clientX - rect.left;
const y = e.clientY - rect.top;
cats.forEach(cat => {
cat.interact(x, y);
});
});
// Animation loop
function animate() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
cats.forEach(cat => {
cat.update();
cat.draw();
});
requestAnimationFrame(animate);
}
animate();
});

View File

@@ -5,7 +5,9 @@ var sectionArray = [1, 2, 3, 4, 5];
$.each(sectionArray, function (index, value) { $.each(sectionArray, function (index, value) {
$(document).scroll(function () { $(document).scroll(function () {
var offsetSection = $("#" + "section_" + value).offset().top - 90; var section = $("#" + "section_" + value);
if (section.length) { // Check if section exists
var offsetSection = section.offset().top - 90;
var docScroll = $(document).scrollTop(); var docScroll = $(document).scrollTop();
var docScroll1 = docScroll + 1; var docScroll1 = docScroll + 1;
@@ -15,12 +17,15 @@ $.each(sectionArray, function (index, value) {
$(".navbar-nav .nav-item .nav-link").eq(index).addClass("active"); $(".navbar-nav .nav-item .nav-link").eq(index).addClass("active");
$(".navbar-nav .nav-item .nav-link").eq(index).removeClass("inactive"); $(".navbar-nav .nav-item .nav-link").eq(index).removeClass("inactive");
} }
}
}); });
$(".click-scroll") $(".click-scroll")
.eq(index) .eq(index)
.click(function (e) { .click(function (e) {
var offsetClick = $("#" + "section_" + value).offset().top - 90; var section = $("#" + "section_" + value);
if (section.length) { // Check if section exists
var offsetClick = section.offset().top - 90;
e.preventDefault(); e.preventDefault();
$("html, body").animate( $("html, body").animate(
{ {
@@ -28,6 +33,7 @@ $.each(sectionArray, function (index, value) {
}, },
300 300
); );
}
}); });
}); });

View File

@@ -77,6 +77,8 @@
const lightboxClose = document.querySelector('.lightbox-close'); const lightboxClose = document.querySelector('.lightbox-close');
const projectImages = document.querySelectorAll('.popup-image'); const projectImages = document.querySelectorAll('.popup-image');
// Only initialize lightbox if elements exist
if (lightbox && lightboxImage && lightboxClose && projectImages.length > 0) {
projectImages.forEach(image => { projectImages.forEach(image => {
image.addEventListener('click', (e) => { image.addEventListener('click', (e) => {
e.preventDefault(); e.preventDefault();
@@ -109,6 +111,7 @@
document.body.style.overflow = ''; document.body.style.overflow = '';
} }
}); });
}
// Sticky Navigation // Sticky Navigation
$(window).on('scroll', function() { $(window).on('scroll', function() {

BIN
sounds/meow.wav Normal file

Binary file not shown.

1
sounds/paw.mp3 Normal file
View File

@@ -0,0 +1 @@
404: Not Found

BIN
sounds/paw.wav Normal file

Binary file not shown.