GitHub2705 estrellas

100proyectosde JavaScript

Proyectos prácticos para aprender JavaScript con código fuente y vídeo. Totalmente gratis.

¡Hola, soy midudev! Mi objetivo es mejorar la empleabilidad de la comunidad de Programación Hispana y el acceso a contenido de calidad sobre Desarrollo Web.

Captura de pantalla del proyecto Juego incremental#99

Juego incremental

Haz click, compra mejoras y mira cómo crecen tus números

  • Game loop con tiempo real
  • Guardado en localStorage
  • Notación compacta con Intl
Captura de pantalla del proyecto Visor de JSON#97

Visor de JSON

Formatea, valida y explora cualquier JSON como un árbol

  • JSON.parse y stringify
  • Renderizado recursivo
  • Elemento <details>
Captura de pantalla del proyecto Calendario#91

Calendario

Un calendario mensual con eventos hecho solo con la API Date

  • Objeto Date
  • Intl.DateTimeFormat
  • CSS Grid
Captura de pantalla del proyecto Tester de mandos#90

Tester de mandos

Conecta tu mando y comprueba todos sus botones y joysticks

  • Gamepad API
  • Polling con requestAnimationFrame
  • Vibración del mando
Captura de pantalla del proyecto Carrusel#72

Carrusel

Un carrusel moderno con scroll-snap, autoplay y accesible

  • CSS scroll-snap
  • IntersectionObserver
  • Page Visibility API
Captura de pantalla del proyecto Lista virtual#71

Lista virtual

Renderiza 100.000 elementos sin que tu navegador se congele

  • Virtualización
  • Rendimiento del DOM
  • Eventos de scroll
Captura de pantalla del proyecto Dino Runner#70

Dino Runner

El juego del dinosaurio de Chrome cuando no hay internet

  • Delta time
  • Dificultad progresiva
  • Sprites con código
Captura de pantalla del proyecto Metrónomo#66

Metrónomo

Un metrónomo preciso con el reloj del AudioContext

  • Programación de audio precisa
  • AudioContext.currentTime
  • Tap tempo
Captura de pantalla del proyecto Relojes del mundo#64

Relojes del mundo

Consulta la hora en cualquier ciudad del mundo con relojes analógicos

  • Zonas horarias con Intl
  • Trigonometría
  • Transformaciones CSS
Captura de pantalla del proyecto Router SPA#53

Router SPA

Construye tu propio enrutador para aplicaciones de una sola página

  • History API
  • Evento popstate
  • URLPattern
Captura de pantalla del proyecto Ahorcado#52

Ahorcado

Adivina la palabra letra a letra antes de completar el dibujo

  • Manipulación de SVG
  • Estructura Set
  • Normalización de strings
Captura de pantalla del proyecto Sudoku#49

Sudoku

Juega al Sudoku o deja que el algoritmo lo resuelva por ti

  • Backtracking
  • Validación
  • Generación de puzzles
Captura de pantalla del proyecto Pong#45

Pong

El primer videojuego de la historia para uno o dos jugadores

  • Varias teclas a la vez
  • Colisiones
  • IA sencilla
Captura de pantalla del proyecto Simón dice#41

Simón dice

Memoriza y repite la secuencia de colores y sonidos

  • async/await
  • Promesas y temporizadores
  • Web Audio API
Captura de pantalla del proyecto Laberintos#39

Laberintos

Genera laberintos aleatorios y encuentra la salida automáticamente

  • Backtracking (DFS)
  • Búsqueda en anchura (BFS)
  • Canvas
Captura de pantalla del proyecto Wordle#37

Wordle

Adivina la palabra oculta de cinco letras en seis intentos

  • Manipulación de strings
  • Algoritmo de pistas
  • Teclado virtual
Captura de pantalla del proyecto Fotomatón#36

Fotomatón

Hazte fotos con la webcam y aplica filtros píxel a píxel

  • getUserMedia
  • ImageData
  • Filtros de píxeles
Captura de pantalla del proyecto Tablero Kanban#35

Tablero Kanban

Organiza tus tareas arrastrándolas entre columnas

  • Drag & Drop con Pointer Events
  • localStorage
  • Estado y renderizado
Captura de pantalla del proyecto Buscaminas#31

Buscaminas

El mítico Buscaminas de Windows con sus tres niveles de dificultad

  • Recursión (flood fill)
  • Evento contextmenu
  • Matrices
Captura de pantalla del proyecto Pokédex#29

Pokédex

Explora los Pokémon de la primera generación con la PokeAPI

  • Promise.all
  • Elemento <template>
  • Consumo de APIs
Captura de pantalla del proyecto 2048#27

2048

Desliza y combina las fichas hasta llegar al 2048

  • Manipulación de matrices
  • Gestos táctiles
  • Transiciones CSS
Captura de pantalla del proyecto Batería virtual#20

Batería virtual

Toca la batería con el teclado. Sonidos sintetizados sin archivos de audio

  • Web Audio API
  • Síntesis de sonido
  • Eventos de teclado
Captura de pantalla del proyecto Juego de memoria#15

Juego de memoria

Encuentra todas las parejas de cartas con el menor número de movimientos

  • Transformaciones 3D en CSS
  • Algoritmo Fisher-Yates
  • Temporizadores
Captura de pantalla del proyecto Snake#14

Snake

El clásico juego de la serpiente que crece al comer

  • Game loop
  • Arrays como cola
  • Eventos de teclado
Captura de pantalla del proyecto Tier Maker#07

Tier Maker

Arrastra y suelta las imágenes para crear tus propias listas de niveles

  • Drag & Drop
  • Input de imágenes
  • CSS Custom Properties
Captura de pantalla del proyecto Tinder Swipe#01

Tinder Swipe

Aprende a crear el efecto de swipe de Tinder con HTML, CSS y JavaScript.

  • DOM
  • Animaciones con gestos
  • Eventos de mouse y touch
  • Transiciones CSS
librecounter