Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

🚀 Modern JavaScript: Mastering the Language

Status: Learning Start Date Main Goal Commit Style

Welcome to my learning journey! This repository contains all the code, notes, and projects developed during the Modern JavaScript course. My ultimate goal is to evolve from my current role as an Analyst to a professional Full-Stack JavaScript Developer, working remotely for global impact.


👨‍💻 About Me

  • Name: Eduardo Reyes
  • Current Role: Analyst
  • Objective: 🌎 Remote Full-Stack Developer
  • Stack Focus: JavaScript (ES6+), Node.js, React, and AI-driven development.
  • Contact: 🔗 Visit my GitHub Profile for Social Links

📚 Course Information


⚙️ Commit Strategy & Versioning

This repository follows the Conventional Commits specification to maintain a clean and readable history. Every commit is structured as:
<type>(<scope>): <emoji> <short description>

🛠 Standard Types Used:

  • feat: New lesson or lab exercise (e.g., feat(blackjack): 🃏 add deck logic).
  • fix: Correcting a bug in an exercise.
  • docs: Documentation changes (like this README).
  • refactor: Code optimization without changing functionality.
  • chore: Maintenance (Vite setup, dependencies, etc.).

🏷️ Tagging System:

I use Semantic Versioning tags to mark the completion of each module.

  • vX.0.0 for Major Labs/Projects.
  • v0.X.0 for Conceptual Modules.

🗺️ Learning Roadmap & Progress

Section Content Status Recommended Tag
01 Introduction & Environment Setup ✅ v0.1.0-intro
02 JS Console & Basic Syntax ✅ v0.2.0-basics
03 Fundamentals (Primitives, Arrays, Objects) ✅ v0.3.0-fundamentals
04 Control Flow & Loops ✅ v0.4.0-logic-flow
05 Lab 1: Blackjack Game ✅ v1.0.0-lab-blackjack
06 Module Pattern & Optimizations ✅ v1.1.0-module-pattern
07 Classes & ESNext Private Properties ✅ v1.2.0-classes-private
08 Modules & Vite ✅ v1.3.0-vite-env
09 Git, GitHub & GitHub Pages ✅ v1.4.0-git-pages
10 Lab 2: Todo App (Vite) ✅ v2.0.0-lab-todoapp
11 Callbacks, Promises & Generators ✅ v2.1.0-async-promises
12 HTTP Requests & Fetch API ✅ v2.2.0-http-fetch
13 Lab 3: CRUD App (No Frameworks) 🏗️ v3.0.0-lab-crud
14 Advanced ESNext Features ⏳ v3.1.0-esnext-new
15 File Uploads & Final Polish ⏳ v4.0.0-completed

🛠 Tech & Tools Used

  • Language: JavaScript (ESNext)
  • Environment: Node.js, NPM, Vite
  • AI Assistants: I leverage GitHub Copilot and Google Gemini to optimize my workflow as I follow the Roadmap.sh Frontend Path.

📈 Goals for this Repository

  1. Semantic History: Maintain 100% adherence to Conventional Commits.
  2. Clean Code: Follow the "Uncle Bob" and Fernando Herrera standards.
  3. Documentation: Use JSDoc to document functions and logic.
  4. Modern Workflow: Transition from standard scripts to Vite-based development.

🛸 Expanded Technical Stack

To build these solutions, I utilize a professional ecosystem:

  • Core: JavaScript Vanilla JS
  • Frontend & Styles: Bootstrap CSS3
  • Build Tools: Vite NPM Node.js
  • Libraries & Utilities: Underscore UUID
  • Dev Environment: Ubuntu Git GitHub

🧪 Featured Lab Projects

🃏 1. Blackjack Game

A classic card game where the user plays against the computer AI. It features a complete game lifecycle from shuffling to winner determination.

  • Main Repository: Blackjack Folder
  • Live Build (Netlify): Netlify Status Play Here
  • Standalone CI/CD Repo: vite-blackjack
  • Live Build (GitHub Pages): Play Here
  • Key Implementation: Uses Underscore.js for high-entropy shuffling and the Module Pattern to encapsulate state and prevent variable collision or console manipulation.

📝 2. Advanced TODO App

A task management system that demonstrates the full power of JavaScript state handling without the need for frameworks.

  • Source Code: Todo App Folder
  • Live Build (Netlify): Netlify Status View App
  • Key Implementation: Features a centralized Store pattern for state management, LocalStorage for data persistence, and UUID for secure, unique task identification. Includes dynamic filtering and a real-time pending task counter.

⚙️ Personal Logic & Architectural Implementation

To ensure these projects go beyond the classroom, I have implemented:

  • State Management: Decoupling the UI from the Data logic using centralized Stores.
  • Data Persistence: Leveraging Browser APIs (LocalStorage) to maintain user context across sessions.
  • Modularity: Using ES Modules (import/export) to create a clean, maintainable, and scalable project structure.
  • Defensive Programming: Using Private properties and closures to protect application integrity.

"The best way to predict the future is to invent it." – Let's code.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages