Skip to content

Latest commit

 

History

History
197 lines (118 loc) · 6.53 KB

File metadata and controls

197 lines (118 loc) · 6.53 KB

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.


⭐ Featured Interactive Projects

  • Project Idea Board State-driven application with editing, status management, keyboard shortcuts, and persistent storage.

  • Sweet Cart Interactive shopping cart with dynamic UI rendering, derived state calculations, and synchronized updates.

  • Markdown to HTML Converter Custom parsing engine that transforms Markdown into structured HTML using a multi-step regex pipeline.

  • ARIA Tabs – Planets Interface Accessible tab system implementing ARIA roles, keyboard navigation, and controlled focus management.


📝 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, and state-driven applications.

The purpose of this repository is to:

  • Reinforce core JavaScript concepts through hands-on implementation
  • Document learning progression and problem-solving development
  • Establish consistent engineering standards across all exercises
  • Serve as a long-term reference and professional portfolio artifact
  • Demonstrate progression from simple scripting to state-driven application design

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, including state management, persistent storage, validation systems, and real-time UI updates. ➡️ 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

  • JavaScript (ES6+)
  • Browser runtime (Chrome, Edge, Firefox)
  • Node.js (standalone script execution)
  • Visual Studio Code development environment
  • ESLint for code quality enforcement
  • Prettier for formatting consistency

No frameworks or build systems are required.


📚 Background

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

  • FreeCodeCamp
  • LinkedIn Learning
  • Coursera
  • Independent structured practice and exploration

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.