Pilas Bloques es una aplicación para enseñar y aprender a programar, desarrollada especialmente para el aula. Se proponen desafíos con diversos niveles de dificultad para acercar a las y los estudiantes al mundo de la programación por medio de bloques. Para más información, ver el Acerca De de Pilas Bloques.
¡En la guia de CONTRIBUTING tenés toda la informacion necesaria para contribuir al proyecto!
Para colaborar en Pilas Bloques vas a tener que instalar Git y clonar el repositorio de Pilas Bloques:
git clone https://github.com/Program-AR/pilas-bloques.git
-
Node. La version requerida para el proyecto está en el archivo
.nvmrc
.Debian/Ubuntu:
git clone https://github.com/nvm-sh/nvm.git ~/.nvm source ~/.nvm/nvm.sh source ~/.nvm/install.sh nvm install .
nvm use
npm install
npm test
npm run start
npm run build
Pilas Bloques puede compilarse de forma distinta dependiendo del grupo experimental a construir. Eso se logra seteando la variable de entorno EXPERIMENT_GROUP
al buildear o compilar:
EXPERIMENT_GROUP=treatment npm run start
En Windows esto se tiene que hacer con:
SET "EXPERIMENT_GROUP=treatment" && npm run start
Los grupos experimentales pueden ser: notAffected
, control
, treatment
y autoassign
.
notAffected
: (default) no muestra ningún tipo de feedback sobre la solución propuesta.control
: al finalizar un desafío muestra las expectativas existentes para el mismo, sin informar si se cumplieron o no.treatment
: tiene un período de entrenamiento en el cual muestra las expectativas existentes sobre el desafío, junto con una barra de progreso para las que se cumplieron. Se agrega feedback sobre los bloques. Una vez terminado el período de entrenamiento pasa a tener un comportamiento similar a control.autoassign
: asigna aleatoriamente un grupo experimental en tiempo de ejecución (elige entrecontrol
y `treatment).
- Por defecto, al hacer un release de la aplicación, el CI se encarga de generar todos los instaladores empaquetados. Por ejemplo: al correr
npm run release:patch
. - Para hacerlo de manera local, primero hay que correr el comando
EXPERIMENT_GROUP=treatment npm run build:prod
(seteando la variable de entorno relacionada al grupo experimental) y luego buildear el instalador correspondiente a tu SO. Por ejemplo:npm run pack:linux
. - Si se desea buildear para otro SO (que no sea el tuyo) hay que tener en cuenta que solamente se puede hacer desde linux. Además, hay que tener instaladas ciertas dependencias:
- Windows: se necesita tener instalado
nsis
,wine
ywine-mono
.-
Debian/Ubuntu:
sudo apt install nsis
-
Arch:
yay -S nsis
-
- macOS: no disponible.
- Windows: se necesita tener instalado
Para tener un backend para probar funcionalidades relacionadas a usuarios y a guardar desafios es necesario tener levantado los proyectos de Pilas Bloques API, Pilas Bloques Analytics, (ambos disponibles en el proyecto backend) y una base de datos MongoDB.
https://github.com/Program-AR/pilas-bloques/wiki/Release-y-Deploy