Instructions for the developers - PanDAWMS/InVEx GitHub Wiki

Django Project Structure (core)

  • /calc - the Python's classes, providing the operations with data samples
  • /datafiles - files with the operations history
  • /datasets - example data samples, stored on server
  • /logs - application logs
  • /settings - Django application settings
  • /static - images, JavaScript, and CSS files
  • /templates - Django templates. A template contains the static parts of the desired HTML output as well as some special syntax describing how dynamic content will be inserted.
  • /test_datasets - datasets for performance benchmarks
  • /testmodule - test module for benchmarking
  • /utils - currently empty
  • form_reactions.py - helper procedures
  • urls.py - Django URLs dispatcher
  • views.py - A view function, or view for short, is simply a Python function that takes a Web request and returns a Web response. This response can be the HTML contents of a Web page, or a redirect, or a 404 error, or an XML document, or an image or anything. The view itself contains whatever arbitrary logic is necessary to return that response.
  • wsgi.py - WSGI server settings

/calc

  • importcsv.py - import datasamples in CSV format
  • baseoperationclass.py - BaseOperationClass is the abstract class describing the operations under the data samples.
  • basicstatistic.py - BasicStatistics class takes data sample and returns the statistics for all its features (count, min, max, mean, std, sum, ...)
  • operationshistory.py - OperationHistory class provides saving the history of all the performed operations (for example, K-means clustering with parameters -> then DBSCAN with parameters -> then again K-means... etc)
  • KMeansClustering.py - class implementing the K-means clusterization for the data sample with parameters
  • DBScanClustering.py - class implementing DBSCAN clusterization

/static

  • /css - all CSS
  • /img - all images
  • /js - JavaScript classes for the application

The JS classes of Three.js library:

  • /js/cameras/
  • /js/controls/
  • /js/geometries/
  • /js/lights/
  • /js/math/
  • /js/renderers/
  • /js/three.js

Three.js controls:

  • /js/dat.gui.min.js

Custom JavaScript classes:

  • /js/VAP