Skip to content

Maher-Elmair/JavaScript_Projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ JavaScript Projects Collection

A comprehensive collection of JavaScript projects covering fundamental to advanced concepts

โœจ Overview

JavaScript Projects Collection is a curated repository of 25+ practical JavaScript projects designed to help developers master modern JavaScript concepts through hands-on practice. Each project focuses on specific programming concepts, from DOM manipulation to game development and advanced animations.

๐ŸŽฏ Key Features

  • Progressive Learning: Projects organized from beginner to advanced levels
  • Real-World Applications: Practical implementations of JavaScript concepts
  • Clean Code Architecture: Well-structured, commented, and maintainable code
  • Responsive Design: Mobile-first approach for all projects
  • Zero Dependencies: Pure JavaScript with no external libraries required
  • Interactive Demos: Live previews available for all projects

๐ŸŽฏ Learning Path

๐ŸŸข Beginner Level

Start with these foundational projects:

  1. random-background-color - Basic DOM manipulation
  2. increase-numbers-on-scroll - Event handling basics
  3. create-tabs - State management fundamentals

๐ŸŸก Intermediate Level

Advance to these interactive projects:

  1. drag-drop-sortable-list - Complex user interactions
  2. our-work-filter - Data manipulation and filtering
  3. custom-select-menu - Custom UI components

๐Ÿ”ด Advanced Level

Challenge yourself with these complex projects:

  1. flappy-bird-game - Game development with Canvas
  2. multi-languages-site - Advanced state management
  3. professional-portfolio-gallery - Full-stack concepts

๐Ÿ—๏ธ Project Structure

JavaScript_Projects/
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ Animations-Effects/          # Interactive animations and visual effects
โ”‚   โ”œโ”€โ”€ animate-width-on-scroll/    # Progress bar animation on scroll
โ”‚   โ”œโ”€โ”€ flashlight-effect/          # Mouse-following spotlight effect
โ”‚   โ”œโ”€โ”€ follows-mouse-cursor/       # Element following cursor movement
โ”‚   โ””โ”€โ”€ increase-numbers-on-scroll/ # Animated counters on scroll
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ Dom-Features/                # Advanced DOM manipulation
โ”‚   โ”œโ”€โ”€ create-countdown-timer/     # Customizable countdown timer
โ”‚   โ”œโ”€โ”€ drag-drop-sortable-list/    # Sortable list with drag & drop
โ”‚   โ”œโ”€โ”€ drag-drop-sortable-list-basic/ # Basic drag & drop implementation
โ”‚   โ”œโ”€โ”€ our-work-filter/            # Dynamic content filtering system
โ”‚   โ””โ”€โ”€ professional-portfolio-gallery/ # Portfolio image gallery
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ Game/                        # JavaScript game development
โ”‚   โ”œโ”€โ”€ flappy-bird-game/           # Complete Flappy Bird clone
โ”‚   โ””โ”€โ”€ subway-game/                # Subway Surfers inspired game
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ Javascript-Logic/            # Core JavaScript algorithms
โ”‚   โ”œโ”€โ”€ detect-adblock/             # Ad-blocker detection system
โ”‚   โ”œโ”€โ”€ detect-user-browser/        # Browser detection utility
โ”‚   โ”œโ”€โ”€ random-background-color/    # Random color generator
โ”‚   โ””โ”€โ”€ random-element-from-sequence/ # Random element selector
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ localization/                # Internationalization
โ”‚   โ”œโ”€โ”€ dark-mode-with-localization/ # Dark mode + multi-language
โ”‚   โ”œโ”€โ”€ multi-languages-site/       # Multi-language website implementation
โ”‚   โ””โ”€โ”€ multi-language-website/     # Alternative multi-language approach
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ UI-Components/               # Reusable UI components
โ”‚   โ”œโ”€โ”€ create-card-slider/         # Card slider with navigation
โ”‚   โ”œโ”€โ”€ create-image-slider/        # Full-featured image slider
โ”‚   โ”œโ”€โ”€ create-tabs/                # Dynamic tab system
โ”‚   โ”œโ”€โ”€ custom-select-menu/         # Custom dropdown menu
โ”‚   โ””โ”€โ”€ fullscreen-navigation/      # Fullscreen navigation menu
โ”‚
โ””โ”€โ”€ ๐Ÿ“œ README.md                    # This documentation

๐Ÿš€ Quick Start

Prerequisites

  • Modern web browser (Chrome, Firefox, Safari, Edge)
  • Code editor (VS Code recommended)
  • Basic understanding of HTML, CSS, and JavaScript

Installation

# Clone the repository
git clone https://github.com/Maher-Elmair/JavaScript_Projects.git

# Navigate to the project directory
cd JavaScript_Projects

# Open any project folder
cd UI-Components/create-image-slider/

# Open index.html in your browser
# Or use VS Code Live Server extension

Alternative: Using Live Server (VS Code)

  1. Install "Live Server" extension in VS Code
  2. Right-click on any index.html file
  3. Select "Open with Live Server"
  4. Project will open in your default browser

๐Ÿ› ๏ธ Technologies

Core Technologies

Technology Primary Use Key Features & Capabilities
JavaScript
JavaScript (ES6+)
Core programming & logic Arrow functions, Promises, Async/Await, Modules, DOM Manipulation, Event Handling
HTML5
HTML5
Structure & semantics Semantic elements, Accessibility features, Canvas API, Forms validation, Media elements
CSS3
CSS3
Styling & layout Flexbox, CSS Grid, Animations & Transitions, CSS Variables, Media Queries, Responsive design
Browser APIs
Browser APIs
Extended functionality DOM API, Canvas API, LocalStorage, SessionStorage, Geolocation, Drag & Drop, Fetch API
Git
Git
Version control Branch management, Collaboration, Commit history, Merging, Staging
GitHub
GitHub
Code hosting & collaboration Pull requests, Issues, GitHub Pages, Project management, Code review
VS Code
VS Code
Development environment Live Server extension, Debugging tools, IntelliSense, Extensions ecosystem, Integrated terminal

Key APIs & Features

  • DOM API: Comprehensive DOM manipulation
  • Canvas API: Game development and animations
  • LocalStorage: Client-side data persistence
  • ES6+ Features: Arrow functions, promises, async/await, destructuring
  • CSS Grid/Flexbox: Modern layout techniques
  • CSS Animations: Keyframes, transitions, transforms

๐Ÿ“š Projects Overview & Live Demos

All projects are hosted on GitHub Pages and can be previewed online. Each project includes a live demo link, detailed description, and skills learned.

๐ŸŽญ Animations & Effects Projects

Project Description Skills Learned Live Demo Code Preview
animate-width-on-scroll Progress bar animation on scroll Intersection Observer, CSS Transitions View Demo View Code
flashlight-effect Mouse-following spotlight effect Mouse Events, CSS Gradients View Demo View Code
follows-mouse-cursor Element that follows cursor movement Event Listeners, Positioning View Demo View Code
increase-numbers-on-scroll Animated number counters Scroll Events, Animation Timing View Demo View Code

๐Ÿ—๏ธ DOM Features Projects

Project Description Skills Learned Live Demo Code Preview
create-countdown-timer Customizable countdown timer Date API, setInterval View Demo View Code
drag-drop-sortable-list Sortable list with drag & drop Drag & Drop API, Local Storage View Demo View Code
drag-drop-sortable-list-basic Basic drag & drop implementation Event Handling, DOM Manipulation View Demo View Code
our-work-filter Dynamic content filtering Filter Methods, State Management View Demo View Code
professional-portfolio-gallery Portfolio image gallery Lightbox, Modal Systems View Demo View Code

๐ŸŽฎ Game Development Projects

Project Description Skills Learned Live Demo Code Preview
flappy-bird-game Full Flappy Bird game clone Canvas API, Game Physics, Collision Detection View Demo View Code
subway-game Subway Surfers inspired game Sprite Animation, Score Systems View Demo View Code

๐Ÿง  JavaScript Logic Projects

Project Description Skills Learned Live Demo Code Preview
detect-adblock Ad-blocker detection Network Requests, Error Handling View Demo View Code
detect-user-browser Browser detection system Navigator API, User Agent Parsing View Demo View Code
random-background-color Random color generator Math.random, RGB/HSL Colors View Demo View Code
random-element-from-sequence Random element selector Arrays, Probability View Demo View Code

๐ŸŒ Localization Projects

Project Description Skills Learned Live Demo Code Preview
dark-mode-with-localization Dark mode with multi-language Local Storage, Theme Switching View Demo View Code
multi-languages-site Multi-language website JSON Data, DOM Updates View Demo View Code
multi-language-website Alternative multi-language site Language Switching, Content Management View Demo View Code

๐Ÿงฉ UI Components Projects

Project Description Skills Learned Live Demo Code Preview
create-card-slider Card slider with navigation Swipe Events, CSS Transforms View Demo View Code
create-image-slider Full-featured image slider Image Preloading, Navigation Controls View Demo View Code
create-tabs Dynamic tab system Event Delegation, Content Switching View Demo View Code
custom-select-menu Custom dropdown menu Accessibility, Dropdown Logic View Demo View Code
fullscreen-navigation Fullscreen navigation menu CSS Animations, Responsive Design View Demo View Code

๐Ÿ“ˆ Learning Outcomes

Technical Skills

  • โœ… DOM Manipulation: Master selecting, creating, and modifying DOM elements
  • โœ… Event Handling: Comprehensive understanding of browser events
  • โœ… Asynchronous JavaScript: Promises, async/await, API calls
  • โœ… Data Structures: Arrays, objects, maps, sets
  • โœ… Algorithmic Thinking: Problem-solving and optimization
  • โœ… Debugging Skills: Console methods, breakpoints, error handling

Soft Skills

  • โœ… Project Planning: Breaking down complex problems
  • โœ… Code Organization: Modular and maintainable code structure
  • โœ… Documentation: Writing clear comments and documentation
  • โœ… Version Control: Git and GitHub workflow
  • โœ… Problem Solving: Debugging and troubleshooting skills

๐Ÿ‘จโ€๐Ÿ’ป Connect With Me

Maher Elmair

Frontend Developer & JavaScript Enthusiast

๐Ÿ“ Professional Links

Gmail
Email
LinkedIn
LinkedIn
Twitter
X (Twitter)
Portfolio
Portfolio
GitHub
GitHub Profile

๐Ÿค Contributing

We welcome contributions from developers of all skill levels! Here's how you can help:

Ways to Contribute

  1. Add New Projects: Implement new JavaScript concepts
  2. Improve Documentation: Enhance existing documentation
  3. Fix Bugs: Identify and fix issues in current projects
  4. Optimize Code: Improve performance and readability
  5. Add Features: Extend functionality of existing projects

โญ Star this repository if you found it helpful!

Happy Coding! ๐Ÿ‘จโ€๐Ÿ’ป๐Ÿš€

About

A comprehensive collection of 25+ JavaScript projects covering animations, DOM manipulation, games, logic, localization, and UI components. Each project demonstrates practical JavaScript concepts with clean, well-commented code and live demos.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors