Pilas Bloques is an application to learn computer programming, specially developed for the classroom. We offer challenges with different levels of complexity to introduce students into the universe of computer programming with blocks. For more information read the spanish about page.
You can find all the information you need to start contributing in Pilas Bloques in the CONTRIBUTING guidelines!
- Install Git and then you must clone the Pilas Bloques repository.
git clone https://github.com/Program-AR/pilas-bloques-app.git
- Node. The version required is indicated in
.nvmrc
file.
Debian/Ubuntu:
git clone https://github.com/nvm-sh/nvm.git ~/.nvm
source ~/.nvm/nvm.sh
source ~/.nvm/install.sh
nvm install .
- Install dependencies
nvm use
npm install
- Create a file named
.env
with the required environment variables. Filesample.env
can be copied for this purpose.
The app was built using Create React App and then ejected. The main scripts are still from CRA:
npm test
- Runs interactive tests.npm start
- Runs the app, auto reloading on changes.npm run build
- Prepares app for production (minify, etc.)
Other commands:
npm run start:electron
- Packs with Electron and runs app. Dev only.npm run start:emberDev
- Replacesnpm start
. To be used when developing in Ember subapp.npm run pack:linux
(andpack:osx
,pack:win
) - Generates installers for each OS. Runnpm run build
beforehand. Seenpm run release
.npm run release
- Version and tag the app. After the push, the CI will automatically generate the installers and upload them to Github.
- If you want to pack an installer for another OS you need to know that this is only possible if you use linux. In addition, you need to install the following dependencies:
- Windows: you need to install
nsis
,wine
andwine-mono
.-
Debian/Ubuntu:
sudo apt install nsis
-
Arch:
yay -S nsis
-
- macOS: unavailable.
- Windows: you need to install
If you want to test users stuff or save challenges it is necessary to fulfill some requirements: Run the apps Pilas Bloques API, Pilas Bloques Analytics (both accesible in the backend project) and a MongoDB database. That project has the instructions to do this.