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.
- 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: JavaScript Moderno: Guía para dominar el lenguaje
- Instructor: Fernando Herrera (DevTalles)
- Platform: Udemy 🎓
- My Student Profile: Eduardo Reyes @ Udemy
This repository follows the Conventional Commits specification to maintain a clean and readable history. Every commit is structured as:
<type>(<scope>): <emoji> <short description>
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.).
I use Semantic Versioning tags to mark the completion of each module.
vX.0.0for Major Labs/Projects.v0.X.0for Conceptual Modules.
| 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 |
- 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.
- Semantic History: Maintain 100% adherence to Conventional Commits.
- Clean Code: Follow the "Uncle Bob" and Fernando Herrera standards.
- Documentation: Use JSDoc to document functions and logic.
- Modern Workflow: Transition from standard scripts to Vite-based development.
To build these solutions, I utilize a professional ecosystem:
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):
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.
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):
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.
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.