JClic.js is an HTML5 player of JClic activities. See a demo on how it works.
JClic is a free software project from the Catalan Educational Telematic Network (XTEC) for creating various types of interactive activities such as associations, puzzles, text activities, crosswords or puzzles, from elements of text, graphics and multimedia.
The program includes an authoring tool to create activities, a player and a reporting system that stores the results obtained by students. All these components, along with some guides and tutorials on how to create activities, are available in the clicZone.
JClic is a Java application that runs on Linux, Windows and Mac OS. Full source code and documentation are available on GitHub.
Many teachers from different countries have used JClic to create interactive materials for a wide variety of levels, subjects, languages and curriculum areas. Some of these materials have been collected in a huge library created with jclic-repo, another open source project that will facilitate the publication of collections of JClic projects in static web hosting services.
JClic.js uses Node.js modules encapsulated in npm packages. First of all, you must have Node.js (which includes 'npm') installed on your system.
To install the required packages, just go to the project's root directory and write:
npm ci
This will install jQuery, Webpack and other needed components into node_modules
To build jclic.js, just invoke:
npm run build
This will generate the main file dist/jclic.min.js
(along with other files useful for development)
To test this resulting bundle and see the demo on your browser, launch the test server:
npm start
You can also launch the program in "unbundled" mode, directly invoking the source scripts. This is useful for debugging:
npm run debug
Full API documentation of jclic.js is available at: http://projectestac.github.io/jclic.js/doc
The project is also available as a NPM and Bower packages.
The latest version of the compiled and minified script jclic.min.js
is currently available at the following locations:
- https://unpkg.com/jclic/dist/jclic.min.js
- https://clic.xtec.cat/dist/jclic.js/jclic.min.js
- https://cdn.jsdelivr.net/npm/jclic@latest/dist/jclic.min.js
- https://cdnjs.com/libraries/jclic.js
JClic.js makes use of:
- jQuery to parse XML documents and manage DOM objects
- JSZip to extract contents from "jclic.zip" files
- clipboard.js to copy reports data into the user's clipboard
- i18next to deal with messages translated into different languages
- script.js to read JClic projects from local file systems as JSONP
- webfontloader to dynamically load web fonts as needed
- MidiPlayerJS, soundfont-player, audio-loader and sample-player to process and play MIDI files
The build process of JClic.js makes use of:
- npm (the package manager of Node.js) to build, install, update and track package dependencies
- ESLint to check for errors and lint the source code
- webpack to bundle all components together
- Babel to make it also compatible with old versions of some browsers
- UglifyJS to minimize the size of the final deliverable script
- Live Server to test and debug
- JSDoc and ink-bootstrap to build the API docs
JClic.js is an open-source project sustained by XTEC, the Telematic Network of the Catalan Ministry of Education.
Checking the operation of JClic.js on different browsers and platforms is possible thanks to virtual machines provided by BrowserStack.
The production releases of JClic.js are smoothly distributed to the final users thanks to the JSDelivr network of servers.
All project files are also available through cdnjs, a very powerful content delivery service powered by Cloudflare.
We use Transifex as a platform to translate JClic.js into many languages. Please read TRANSLATIONS.md if you want to contribute to the project creating a new translation or improving the existing ones.