javascript-learning-labs

JavaScript Learning Labs

JavaScript Learning Repo Status FreeCodeCamp Code Style: Prettier Linted with ESLint


🌐 Live Demo

Many DOM and mini-project labs are deployed and available for interactive use:

➑️ View the Live Demo

This demonstrates real-world deployment practices and allows projects to be evaluated independently of the repository.



πŸ“ Overview

This repository is a structured collection of JavaScript labs completed during formal programming study and independent practice.

Each lab focuses on a specific language concept or programming pattern, progressing from foundational syntax to interactive, event-driven applications.

The purpose of this repository is to:

This repository prioritizes clarity, consistency, and maintainability over optimization or abstraction.


πŸ“‚ Repository Structure

The repository is organized by topic area:

/topic-folder/ β†’ Concept-focused labs and grouped exercises
/mini-projects/ β†’ Multi-concept applications and certification projects

Each topic folder contains focused exercises designed to isolate and reinforce specific programming patterns. DOM labs and larger projects may also include their own sub-folders with dedicated HTML, CSS, JavaScript, and README files.


πŸ“ Repository Standards

This repository follows strict consistency, formatting, and documentation standards to ensure maintainability and long-term clarity.

See: CONTRIBUTING.md

These standards define file structure, documentation requirements, formatting rules, and interaction patterns used across all labs.


πŸ—‚ Current Topics

These labs document progressive skill development through structured practical exercises.

🧠 Algorithms

Problem-solving exercises focused on transforming input into output through structured logic and computational thinking. ➑️ Open folder

πŸ“š Arrays

Working with ordered data collections, including selection, mutation, and safe state management. ➑️ Open folder

πŸ–±οΈ DOM Manipulation & Events

Interactive front-end applications connecting user input to dynamic interface behavior. ➑️ Open folder

πŸ”€ Logic & Control Flow

Decision-making, conditional branching, and state-driven program behavior. ➑️ Open folder

πŸ” Loops

Iteration patterns for processing data and building results incrementally. ➑️ Open folder

βž— Math Basics

Arithmetic operations, formulas, and logic-based calculations. ➑️ Open folder

🧩 Mini Projects

Integrated applications combining multiple concepts into complete working programs. ➑️ Open folder

🧱 Objects

Structured data modeling using properties, access patterns, and object-based organization. ➑️ Open folder

πŸ”Ž RegEx & Parsing

Pattern matching, text validation, string conversion, and lightweight parsing utilities using regular expressions. ➑️ Open folder

🧡 String Manipulation

Text parsing, formatting, reconstruction, and transformation techniques. ➑️ Open folder


πŸš€ Purpose

This repository serves as a documented progression from foundational JavaScript syntax to structured application development.

It reflects deliberate practice, structured learning, and increasing engineering discipline over time.

The repository is intentionally maintained as a stable record of technical growth rather than an experimental sandbox.


πŸ› οΈ Tools & Environment

No frameworks or build systems are required.


πŸ“š Background

Exercises and project structures are inspired by formal coursework and structured learning platforms, including:

All implementations are written and maintained independently.


▢️ Running the Labs

These labs use plain JavaScript and can be executed in either a browser or Node.js environment.

Browser Console

  1. Open any webpage
  2. Open Developer Tools β†’ Console
  3. Paste and execute code from a lab file

Node.js

node path/to/file.js

For DOM-based labs and mini-projects, open the project’s index.html file in a browser or use the deployed live demo when available.


🧭 Lifecycle Status

This repository is actively maintained during the JavaScript certification phase.

Upon completion of the core certification track, the repository will transition to maintenance mode and remain as a permanent reference and portfolio artifact documenting foundational JavaScript competency.

Future application development will occur in separate, dedicated repositories.