Entorn web de programacio visual per a Educacio Infantil basat en ScratchJr
  • JavaScript 85.2%
  • CSS 11.7%
  • HTML 3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Samuel Soriano f70ad55488
Some checks are pending
Proves / test (push) Waiting to run
Show the no-storage warning at the bottom of the screen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 08:41:41 +02:00
.github/workflows Run E2E tests on WebKit and emulated iPad; mark Safari as supported 2026-09-26 23:14:59 +02:00
docker Corregeix CSP per a WebAssembly i elimina eval del preprocessat de CSS 2026-09-26 11:34:08 +02:00
docs Run E2E tests on WebKit and emulated iPad; mark Safari as supported 2026-09-26 23:14:59 +02:00
public Show the no-storage warning at the bottom of the screen 2026-09-27 08:41:41 +02:00
scripts Add unit and Playwright test suite; fix lobby refresh after .sjr import 2026-09-26 22:27:41 +02:00
src Show the no-storage warning at the bottom of the screen 2026-09-27 08:41:41 +02:00
tests Time out hanging IndexedDB transactions so the editor still starts 2026-09-27 08:24:30 +02:00
.dockerignore Add Reptes tab with teacher sheets and rebrand loading screen 2026-09-26 21:44:20 +02:00
.env.example MVP 0.1: aplicacio web sense Electron amb sql.js i IndexedDB 2026-09-26 11:30:04 +02:00
.gitignore Add unit and Playwright test suite; fix lobby refresh after .sjr import 2026-09-26 22:27:41 +02:00
docker-compose.yml MVP 0.1: aplicacio web sense Electron amb sql.js i IndexedDB 2026-09-26 11:30:04 +02:00
Dockerfile MVP 0.1: aplicacio web sense Electron amb sql.js i IndexedDB 2026-09-26 11:30:04 +02:00
LICENSE Fase 1: auditoria de ScratchJr i ports, llicencies i estrategia 2026-09-26 11:19:21 +02:00
NOTICE Sprite per defecte propi (Junior) i documentacio d'assets 2026-09-26 14:21:37 +02:00
package-lock.json Add unit and Playwright test suite; fix lobby refresh after .sjr import 2026-09-26 22:27:41 +02:00
package.json Add unit and Playwright test suite; fix lobby refresh after .sjr import 2026-09-26 22:27:41 +02:00
playwright.config.mjs Keep the app starting when IndexedDB or the network hangs 2026-09-27 00:15:00 +02:00
README.md Run E2E tests on WebKit and emulated iPad; mark Safari as supported 2026-09-26 23:14:59 +02:00
webpack.config.js MVP 0.1: aplicacio web sense Electron amb sql.js i IndexedDB 2026-09-26 11:30:04 +02:00

EduTicTac Blocs Junior

Entorn lliure de programació visual per a Educació Infantil i primers cursos de Primària, basat tècnicament en ScratchJr i adaptat per funcionar com a aplicació web autoallotjada dins de l'ecosistema EduTicTac.

Subtítol provisional: Programació visual per als més menuts

Estat

Fase 3 (MVP 0.1) en curs. Ja hi ha una base funcional: aplicació web sense Electron, amb sql.js + IndexedDB, lobby, creació de projectes i editor.

Compatibilitat: funciona en Android, iPad (Safari) i navegadors d'escriptori (Chromium, Firefox). Detalls a docs/compatibility.md.

Fase 1 — auditoria:

Fase 2 — arquitectura i disseny:

Relació amb altres projectes EduTicTac

  • EduTicTac Blocs (germà): fork de TurboWarp/scratch-gui per a Scratch complet.
  • EduTicTac Blocs Junior (aquest repo): entorn simplificat per a 3–7 anys, basat en ScratchJr, no en Scratch complet.

Són dos mòduls independents amb identitat comuna.

Origen i crèdits

Aquest projecte parteix del treball de:

  • ScratchJr (MIT / Scratch Foundation) — BSD-3-Clause.
  • ScratchJr-Desktop (jfo8000) — port comunitari d'escriptori.
  • ScratchJr-Web (codju-labs) — adaptació web parcial.
  • ScratchJr-web (techlab4kids-apps) — fork amb personalitzacions i empaquetat.

Vegeu docs/licenses.md per a les obligacions de llicència i marca.

Llicència

El codi nou d'EduTicTac es distribueix sota AGPL-3.0. El codi heretat de ScratchJr conserva la seua llicència BSD-3-Clause de MIT. Vegeu LICENSE i NOTICE.

Desenvolupament

Requisits: Node.js 22+ i npm.

npm install
npm run dev      # servidor de desenvolupament (port 3002)
npm run build    # build de producció a dist/

L'aplicació és 100% al navegador: no hi ha backend. Els projectes es guarden a IndexedDB del dispositiu.

Desplegament amb Docker

cp .env.example .env
docker compose up -d
  • Port per defecte: BLOCS_JUNIOR_PORT=8091.
  • Funciona darrere de nginx, Traefik o Caddy (vegeu docs/deployment.md).
  • Destí previst: blocs-junior.edutictac.es.

Estructura

  • src/app/ — codi heretat de ScratchJr-Desktop (editor, pintor, lobby, assets, i18n).
  • src/web/ — codi EduTicTac: interficie web (tabletInterface), magatzem (sql.js + IndexedDB), identitat (brand).
  • src/junior-entry.js — punt d'entrada.
  • docs/ — documentació.
  • docker/ — configuració d'nginx.