Skip to content

anjumhere/Core-Javascript-Projects-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

52 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Core JavaScript Projects πŸš€

A comprehensive collection of vanilla JavaScript projects demonstrating modern web development techniques, DOM manipulation, and interactive user interfaces. Each project is self-contained with its own documentation and showcases different aspects of JavaScript fundamentals.

JavaScript HTML5 CSS3 License

πŸ“‹ Table of Contents

🌟 Overview

This repository serves as a portfolio of vanilla JavaScript projects built to master core JavaScript concepts without relying on frameworks or libraries. Each project focuses on specific JavaScript features and demonstrates practical implementations of web development fundamentals.

Purpose

  • πŸ“š Learning Resource - Study real-world JavaScript implementations
  • πŸ’Ό Portfolio Showcase - Demonstrate coding skills and best practices
  • 🎯 Skill Development - Practice DOM manipulation, event handling, and modern ES6+ features
  • πŸ”§ Code Reference - Reusable components and patterns for future projects

πŸ“ Projects

1️⃣ ProfilePop - Dynamic Profile Card Generator

Modern profile card generator with stunning animations and glassmorphism effects

A dynamic profile card generator that creates visually stunning profile cards with custom information. Built with vanilla JavaScript and modern CSS techniques, featuring a beautiful dark theme with purple gradients, glassmorphism effects, and smooth animations.

Key Features:

  • 🎨 Glassmorphism Design - Modern frosted glass effect with backdrop blur
  • ✨ Gradient Themes - Beautiful purple and blue gradient color schemes
  • 🎯 Animated Borders - Rotating gradient borders on profile pictures
  • πŸš€ Dynamic Card Generation - Create unlimited profile cards on the fly
  • πŸ’« Popup Animation - Cards appear with an eye-catching bubble/pop effect
  • πŸ“± Fully Responsive - Mobile-first approach with intelligent layout
  • 🎨 Form Validation - Built-in HTML5 validation for data integrity
  • πŸ”„ Auto-Reset - Form automatically clears after submission

Use Cases:

  • Team member showcases
  • Portfolio websites
  • Employee directories
  • Social media profile displays
  • Event attendee lists

Technologies: HTML5 CSS3 JavaScript

View Project | Live Demo


2️⃣ Email and Password Validator

Real-time form validation with instant feedback and professional dark theme UI

A production-ready authentication form validator that provides real-time feedback as users type. Features a sleek dark theme interface with live password strength indicators and comprehensive validation rules.

Key Features:

  • ⚑ Real-time validation - Instant feedback on every keystroke
  • πŸ”’ Smart password checker - Live requirement updates with visual indicators
  • βœ‰οΈ RFC-compliant email validation - Industry-standard regex patterns
  • 🎨 Professional dark theme - Modern, eye-friendly interface
  • πŸ“± Fully responsive design - Perfect on all devices
  • βœ… Visual feedback system - Color-coded borders and success/error messages

Technologies: HTML5 CSS3 JavaScript

View Project | Live Demo | Documentation


3️⃣ Theme Toggle with localStorage

Intelligent dark/light mode switcher with OS theme detection and persistent preferences

A sophisticated theme switching system that automatically detects your operating system's theme preference and allows manual customization. Built with vanilla JavaScript, it demonstrates modern browser APIs and user preference management.

Key Features:

  • πŸŒ“ Automatic OS Theme Detection - Detects and applies system dark/light mode
  • πŸ’Ύ Persistent Storage - Saves user preferences using localStorage
  • πŸ”„ Real-time Sync - Updates when OS theme changes
  • 🎯 Smart Preference Management - User choice overrides system settings
  • 🎨 Smooth Transitions - Professional CSS animations (0.4s)
  • ⚑ Lightweight - Only ~2.5KB total bundle size
  • πŸ“± Fully Responsive - Works on all devices

Technical Highlights:

  • window.matchMedia() API for OS theme detection
  • prefers-color-scheme media query
  • Event listener lifecycle management
  • localStorage API for data persistence
  • Clean class-based theme toggling

Technologies: HTML5 CSS3 JavaScript

View Project | Live Demo

4️⃣ A Simple Even/Odd Validator

Simple even and odd number checker using vanilla JavaScript, HTML, and CSS

A project to validate if a number is even or odd in real-time, with clean UI and instant feedback.

Key Features:

πŸ”’ Real-time number validation

🎨 Simple, clean UI

⚑ Instant feedback

Technologies: HTML, CSS, JavaScript

View Project | Live Demo

5️⃣ Rock-Paper-Scissors

Classic Rock-Paper-Scissors game built with vanilla JavaScript

Interactive game with dynamic score tracking and animations.

Key Features:

✊ Dynamic game logic

🎯 Score tracking

🎨 Visual feedback for player and computer choices

Technologies: HTML, CSS, JavaScript

View Project | Live Demo

6️⃣ Calculator

A basic calculator for arithmetic operations using vanilla JavaScript

Perform addition, subtraction, multiplication, and division with live input.

Key Features:

πŸ”’ Basic arithmetic operations

🎨 Responsive UI

⚑ Instant calculation results

Technologies: HTML, CSS, JavaScript

View Project | Live Demo

7️⃣ Payroll Tax Calculator

A simple payroll tax calculator built with JavaScript

Calculate salary, tax deductions, and net pay dynamically.

Key Features:

πŸ’° Income and tax calculation

πŸ“Š Instant results

🎨 Clean UI

Technologies: HTML, CSS, JavaScript

View Project | Live Demo

8️⃣ Random Password Generator

Generate strong random passwords with user-selected criteria

Customize password length and complexity.

Key Features:

πŸ” Random password generation

βš™οΈ Customizable length and symbols

🎨 Simple and clean interface

Technologies: HTML, CSS, JavaScript

View Project | Live Demo

9️⃣ Todo List with Timer

Interactive todo list with countdown timer for tasks

Keep track of tasks and manage time effectively.

Key Features:

βœ… Add and remove tasks

⏱ Timer for task focus

🎨 Responsive interface

Technologies: HTML, CSS, JavaScript

View Project | Live Demo

1️⃣0️⃣ Weather Web App

Simple weather application fetching real-time data from an API

Check the current weather of any city with dynamic UI updates.

Key Features:

🌦 Fetch weather data via API

πŸ“ Search for cities

🎨 Dynamic UI updates

Technologies: HTML, CSS, JavaScript

View Project | Live Demo

1️⃣1️⃣ User Search Filter Cards

View Project | Live Demo

πŸš€ How It Works

  1. Card Creation

    • Each user object has name, pic, and bio.
    • JS creates a <div class="card"> with:
      • <img> for the picture
      • .blur-layer for glassy overlay
      • .content div containing <h3> and <p>.
  2. Carousel

    • .cards-track uses CSS keyframes for infinite scroll.
    • Hover pauses the animation for better UX.
  3. Search Filter

    • Input listens for input events.
    • Filters cards in real-time:
      • Empty β†’ show carousel
      • Typed β†’ show filtered grid layout
  4. Responsive Animations

    • Cards scale, lift, and shadow on hover.
    • Fade-in animation on load.
    • Mobile-friendly resizing.

πŸ“¦ Project Structure

user-search-filter-cards/ β”‚ β”œβ”€ index.html # HTML container and search input β”œβ”€ style.css # CSS for carousel, cards, animations, blur β”œβ”€ script.js # JavaScript logic for creating cards and filtering β”œβ”€ README.md # Project documentation └─ assets/ # Optional folder for images/GIFs

  • HTML5 – Semantic markup for structure and accessibility
  • CSS3 – Flexbox, grid, gradients, animations, hover effects, and responsive design
  • JavaScript (ES6+) – DOM manipulation, event listeners, dynamic card creation, filtering
  • Unsplash Images – Free high-quality placeholder images for users

πŸ› οΈ How to Run Locally

1. Clone the repo:

git clone https://github.com/anjumhere/Core-Javascript-Projects-.git
Navigate to project folder:

cd user-search-filter-cards
Open index.html in your browser:

open index.html
Type in the search input to dynamically filter users.

## 🌟 Author
## Adnan Anjum
## GitHub: @anjumhere



_______________________________________________________________________________________________________________________________
More projects will be added regularly. Star this repo to stay updated! ⭐

### πŸš€ Getting Started

### Prerequisites

- A modern web browser (Chrome 76+, Firefox 67+, Safari 12.1+, or Edge 79+)
- Basic understanding of HTML, CSS, and JavaScript
- A code editor (VS Code recommended)
- Git installed on your machine

### Quick Start

1. **Clone the repository**

```bash
git clone https://github.com/anjumhere/Core-Javascript-Projects-.git
cd Core-Javascript-Projects-
  1. Navigate to any project
# For ProfilePop
cd Dynamic-Profile-Card-Generator

# For Email Validator
cd Email-and-Password-Validation

# For Theme Toggle
cd Theme-toggle-with-localStorage
  1. Open in browser

Simply open index.html in your browser, or use Live Server extension in VS Code for hot reload.

Running Projects Locally

Option 1: Direct File Opening

  • Navigate to any project folder
  • Double-click index.html
  • The project will open in your default browser

Option 2: Using Live Server (Recommended)

  1. Install Live Server in VS Code
  2. Right-click on index.html
  3. Select "Open with Live Server"
  4. Project opens with hot reload capability

πŸ› οΈ Technologies Used

Core Technologies

  • HTML5 - Semantic markup and structure
  • CSS3 - Modern styling and animations
  • JavaScript (ES6+) - Vanilla JavaScript without frameworks

JavaScript Concepts Demonstrated

  • DOM Manipulation & Element Creation
  • Event Handling & Event Listeners
  • ES6+ Features (Arrow Functions, Template Literals)
  • Browser APIs (localStorage, matchMedia)
  • Form Validation & Handling
  • Real-time Input Processing
  • Dynamic Content Generation
  • State Management
  • Event Listener Lifecycle Management
  • Array Methods & Iteration

CSS Techniques

  • Flexbox & Grid Layout
  • CSS Transitions & Animations
  • Custom Properties (CSS Variables)
  • Responsive Design
  • Mobile-First Approach
  • Glassmorphism & Modern UI Effects
  • Gradient Design
  • Backdrop Filters

πŸŽ“ Learning Objectives

By exploring these projects, you'll learn:

JavaScript Fundamentals

  • βœ… DOM Manipulation and Traversal
  • βœ… Dynamic Element Creation & Appending
  • βœ… Event Listeners and Event Delegation
  • βœ… Browser Storage APIs (localStorage)
  • βœ… Media Query API (matchMedia)
  • βœ… Form Handling and Validation
  • βœ… Real-time Input Processing
  • βœ… ES6+ Syntax and Features
  • βœ… State Management Patterns

CSS Skills

  • βœ… Responsive Design Principles
  • βœ… Modern CSS Techniques (Flexbox & Grid)
  • βœ… Smooth Animations and Transitions
  • βœ… Keyframe Animations
  • βœ… Glassmorphism Effects
  • βœ… Theme Switching Implementation
  • βœ… Gradient Design
  • βœ… Mobile-First Approach

Best Practices

  • βœ… Clean and Readable Code
  • βœ… Semantic HTML Structure
  • βœ… Separation of Concerns
  • βœ… Memory Management (Event Listener Cleanup)
  • βœ… Browser Compatibility
  • βœ… User Preference Respect
  • βœ… Performance Optimization

🀝 Contributing

Contributions, issues, and feature requests are welcome!

How to Contribute

  1. Fork the Project
  2. Create a Feature Branch
    git checkout -b feature/AmazingProject
  3. Commit Changes
    git commit -m 'Add some AmazingProject'
  4. Push to Branch
    git push origin feature/AmazingProject
  5. Open a Pull Request

Contribution Guidelines

Adding a New Project

  • Create a new folder with a descriptive name
  • Include all necessary files (HTML, CSS, JS)
  • Add a comprehensive README.md
  • Follow the existing project structure
  • Ensure code is well-commented
  • Test across multiple browsers

Code Standards

  • Use meaningful variable and function names
  • Write clean, readable code
  • Add comments for complex logic
  • Follow ES6+ JavaScript standards
  • Ensure responsive design
  • Test for cross-browser compatibility

πŸ“„ License

This project is licensed under the MIT License.

MIT License

Copyright (c) 2025 Anjum

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

πŸ‘¨β€πŸ’» Author

Anjum

About Me

Passionate web developer focused on creating practical, educational, and well-documented projects. I believe in learning by building and sharing knowledge with the community. These projects represent my journey in mastering JavaScript fundamentals.

πŸ’¬ Support

Need Help?

  • πŸ“– Check individual project README files
  • πŸ’‘ Open an issue
  • πŸ“§ Contact me via email

Found This Helpful?

  • ⭐ Star this repository
  • 🍴 Fork it for your own learning
  • πŸ“’ Share it with others
  • 🀝 Contribute your own projects

πŸ™ Acknowledgments

  • MDN Web Docs - Comprehensive JavaScript documentation
  • JavaScript.info - Excellent learning resource
  • CSS Tricks - Amazing CSS tutorials and tips
  • Stack Overflow Community - Problem-solving support
  • GitHub Community - Inspiration and collaboration

πŸ”— Useful Learning Resources

πŸ“Š Repository Stats

Maintained Projects Contributions


Show Your Support

If this repository helped you, please consider:

⭐ Starring the repository
🍴 Forking for your own learning
πŸ“’ Sharing with others
🀝 Contributing your projects

Made with ❀️ by Anjum

⬆ back to top

About

A collection of small Core JavaScript projects built to practice and strengthen fundamental concepts like DOM manipulation, event handling, form processing, and basic logic. Each project is self-contained, organized in its own folder, and includes a dedicated README explaining its features, functionality, and code structure.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors