Code Monkey home page Code Monkey logo

notevil-watchdogs's Introduction

Documentation for Business Process Modeller - Swen 302 Project

Designed by !Evil Watchdogs

1. Django Framework

The Django Framework is the base of the Project so to run it there are several commands you should know to use this program

Main Django page

We used the Django Framework and the Django Rest Framework for this project as it is a safe and secure framework which is recognised and used in commericial projects.

2. Format style

The “program” takes data in a Json file format.

There is a pop up dialoue in which you can also add in json file format text to add logs to your data set.

Format Required for JSON Data

{
   "uuid":1,
   "events":[
      {
         "name":"start",
         "date_stamp":"2015-05-12T00:00:00",
         "metadata":{         }
      },
      {
         "name":"middle",
         "date_stamp":"2015-05-12T00:01:00",
         "metadata":{         }
      },
      {
         "name":"end",
         "date_stamp":"2015-05-12T00:02:00",
         "metadata":{         }
      }
   ],
   "metadata":{   }
}

{
"uuid":number, 
"events":[
	{
		"name":(event Name), 
		"data_stamp": (event date stamp, see note),
		"metadata":{(can be empty)}
	}, 
	(can have more events after the first)
],

	"metadata":{(can be empty)}
}

uuid is Universal Unique Identifier

As long as you fit this Json format with a simple parser or in Json format in the pop up dialogue box, the “program” can take that data.

This “Program” contains a basic csv parser that is tuned to A Rabobank Data set which is also included and can be used as an example of what is required.

3. Web Application

Sign Up

Required Fields in Sign up are Username, Email, Password and Verification, First and Last Name.

Company Name is an optional Field.

Log In

Username and password to login

Lost password link to Django admin page, enter email address for password reset.

Projects Page

The Projects page initially only has two buttons which are New project Button and logout link.

After you have made a new project you can then Add a log to the project or go to the project's visulaisation page with the same add log options.

Visualisation Page

The Visualisation Page has the automata in the main drawing panel assuming you have added a log into the project and the sidebar on the right displays data on a node when selected.

Green Node is the open node and the red Nodes are the closed Nodes. When Nodes are selected they have a pink border to signify being selected.

There is a scroll zooming in and out fuctionality but at the stage that this document was written on certain systems and/or Internet Browsers can only scroll in and out when hovering over a node.

There is also moving functionality to move the diagram within the drawing panel but has the same bug as above where you have to click and drag a node can't just be anywhere.

  • Flat sizing

    Flat Sizing means all of the nodes are the same size.

  • Square sizing

    Square Sizing is the Volume of the Nodes is proprotional to the count.

  • Cubic Sizing

    Cubic Sizing is the Volume of the Node modelled as a sphere is proportional to the count.

  • Hide Children

    If this is still included it was for testing purposes.

  • Min Frequency slider and Update Button

    If the Count of the node is less than the Minimum Frequency then that node is removed from the visualisation. This resets to flat sizing

4. D3 Javascript Front End Production

The frontend is comprised mostly of D3 Javascript, Javascript and base indexs plus styling elements of HTML and CSS.

The following link is the D3 Docs:

D3 Documentation

The visualization is using a forced layout from D3 library

D3 Forced Layout

5. Deployment and Dev Environment

Step by step run through here:

We have assumed that Git, Pip, Python dev, and libpq-dev is already installed as the a standard requirment.

sudo apt-get install python-pip
sudo apt-get install git
sudo apt-get install python-dev
sudo apt-get install libpq-dev

Clone this Repository

In the Automata_App folder do the following commands

sudo python pip install -r requirements.txt

python manage.py makemigrations (This command should be already completed on delivery)


python manage.py runserver 0.0.0.0:80

Then when the server is running on either local machine or on a virtual machine need to make user or logon to existing account.

6. Known Bugs/Issues

  • Can't Toggle nodes on or off of open or closed tags

  • Dragging and zooming on nodes works differently on different operating systems

  • No current support for Firefox or Internet Explorer

notevil-watchdogs's People

Contributors

aldent95 avatar thiodexal avatar unexceptable avatar copelajohn avatar daniel-cole avatar

Watchers

James Cloos avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.