What do I need to use UN-CODE as a user?

  • A modern Browser, such as Google Chrome or Mozilla Firefox
  • Screen Resolution: 1680×1050 or higher
  • For the 3D-Visualization feature: A graphic chip that supports OpenGL 2.1 or higher is required. For decent visualization performance a dedicated graphics card and a good CPU are recommended.

Where can I get support or contact you?

Please get in touch with us if you have any questions, problems or suggestions using the UN-CODE App. Bug reports are also very welcome!
You can contact us at:

Advanced: How do I install UN-CODE on my local machine as a developer or advanced user?

  1. Download the UN-CODE source code here: https://github.com/uncodecomplexsystems/Un-Code/ (click „clone or download“ and download as .zip file)
  2. Install a local web server with Apache, PHP, MySQL and PHPMyAdmin, for example XAMPP (https://www.apachefriends.org)
  3. Put the contents of the .zip file into your local server’s “htdocs” (If you are using a Linux-type system, please make sure, the subfolders “tmp”, “template_c” and “cache” are writeable.)
  4. Start the web and database server (in XAMPP: select Apache + MySQL).
  5. Within your browser, go to the PHPMyAdmin service (in XAMPP: „localhost/phpmyadmin/“).
  6. Create two databases. One for project data (e.g. “uncode-project”) and one for user data (e.g. “uncode-user”).
  7. Click on the left side on your newly created “uncode-project” database. On the top go to “import”. Select the file “uncode-project.sql” from the UN-CODE .zip (step 1, subdirectory „install“) and press OK. This creates the fundamental database structure for your projects.
  8. Do the same step as (7) with the “uncode-user” database and import “uncode-user.sql”. This creates the fundamental database structure for your systems‘ users.
  9. (Optional) Database configuration: If you have trouble accessing the MySQL database, you might have to adjust the access values in /include/db.php. This is also the case if you named the databases differently than the above suggested names. However, when following the installation procedure above, in most cases the standard values should suffice.

Congratulations, you just completed the installation! Now you can start using UN-CODE via your browser. If you use XAMPP and followed the above steps, just go to: “localhost/uncode” via your browser. Have fun!

Advanced: How is the UN-CODE application built and structured?

Advanced: How is UN-CODE’s source code structured?
Our software uses the Smarty template system (https://www.smarty.net/) for separating back-end php code and front-end html/script code.

  • Backend PHP code is to be found in the index.php main file.
    • Beginning at line 164, site requests are caught and redirected to the appropriate functions. It is separated between being logged in (PHP session) and being logged out (login screen). If a function is a front-end function (e.g. visualize() at line 2339) it loads the appropriate template via Smarty. Some functions are also just transmitting data for AJAX operations (e.g. when working with the main editing screen or the 3D visualization), e.g. visualizeData() at line 2385 which is the back-end process for sending data to WebGL.
    • To have a look at the C-Score calculation process, see line 708-771.
  • Frontend templates using HTML, JavaScript and JQuery can be found in the /templates folder. WebGL and Three.JS visualization is also done front-end (with data from the backend).
    • Main editing screen template can be found in project.tpl
    • Front-end for 3D Visualization can be found in visualize.tpl
    • An example for Smarty front-end programming is connections.tpl
  • Graphics can be found in the /img folder.
    • o Textures used in 3D Visualization are found in /img/greyscale and /img/color
  • CSS layout code can be found in the /css folder.
  • Dependencies and configuration files are to be found in the /include folder.
    • Database configuration under /include/db.php
    • Common Javascript functions under /include/common.js
    • 3rd party Dependencies:
      • Smarty template system: /smarty, /templates, /templates_c, config, cache
      • JQuery: /include/jquery.js, jquery.hotkeys.js
      • Three.JS: /include/three.min.js, OrbitControls.js, Detector.js
      • Three.JS Terrain generator (used for slope visualization), created by Isaac Sukin and released Open Source under MIT-license: THREE.Terrain.min.js
      • PHPExcel under /excel