Git Product home page Git Product logo

synthbio's People

Contributors

atennapel avatar felixakk avatar jieter avatar nielsad avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

synthbio's Issues

Client: Minimum resolution fix

Some minimum widths should be defined for the layout elements in the CSS so the modelling field doesn't collapse. As a side effect this will probably also make the app more compatible with mobile devices. Low priority though.

Client: Fix Chrome security policy incompatibility

Chrome won't load the main webpage (index.html), because a JavaScript framework violates the security policy (Cross origin requests are only supported for HTTP). This is due to less.js (The framework that parses the .less stylesheet) trying execute AJAX communication. I heard an alternative exists (something called PAJAX or something), which can be included and easily fixes this.

Raw error:

XMLHttpRequest cannot load file:///D:/TUDelft/TI2800/synthbio/program/css/style.less. Cross origin requests are only supported for HTTP.
less-1.3.0.min.js:8Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101

Prepare for SIG evaluation 1

Things to worry about:

  • Lots of meaningful Javadoc comments for every class, property, method; use tags wisely.
  • Check consistency of indentation.

Groupings...

Hey allemaal. Ik zal even te kijken naar Jieters mooie nieuwe code en bedacht me het volgende:

Hoe gaan we groupings aangeven?
Misschien iets van nested gates ofzo? { "type": "not", "position": {"x": 2,"y": 2}, {"type": "and", "position": {"x": 2,"y": 2} } }
Of berekenen we gewoon de gates en hoe ze gelinkt zijn op basis van de position (en waarom hebben we dan grouping?)
En als we het doen op position, hoe zit dat dan met compound gates later inladen en die bij een bestaande gate group toevoegen? Dan moeten de y-waarden misschien veranderd worden anders plak je misschien gates over elkaar heen...
Denk dat we hier even een goed idee van moeten hebben voordat we dingen verder gaan implementeren...

Client: Polishing modelling/grid styles and workflow

Make it pretty. And also easier to use.

Includes stuff like:

  • Polish circuit styles.
  • Fix position of gates below mouse while dragging.
  • Style of gate while dragging.
  • Size and drop area of endpoints so they are easier to connect/disconnect.
  • Implement deleting of wires and gates using delete.
  • Highlighting/selecting gates to move multiple or delete multiple.
  • Making input and output fields resize and display open connections that still need to be defined.
  • Also stylize the input/output areas.

Server: Revise Tomcat setup Wiki

Thomas and I both couldn't get the server working with the Windows instructions. The service would start but we'd still get a 404 on the address. We would probably check that with someone who did got it working.

We both had XAMPP installed, and luckily we could easily get it to work on that (see new section in the Wiki).

Client: Specify input signals

Create GUI element(s) to draw/specify input signals for each "wire" by specifying whether a protein concentration is high or low (absolute numbers to be specified by Albert in issue #48 ), which is represented by 0 or 1 in the GUI. Also write the JavaScript to convert this to JSON.

Time estimate: huge ... I mean; 16 hours

requests

Hey allen,

Ik zie jullie morgen niet denk ik, dus ik zet maar even een issue uit voor mijn probleem. Leek me wel de geschikte plaats.
Over de requests, waar moet alles heen verwijzen? Hebben we al enig idee waar we files op gaan slaan?
Komt er een java file die alle requests afvangt of moet ik voor elke request een aparte servlet file maken?
Ik zag al CircuitServlet staan. Is het de bedoeling dat die alles af gaat vangen en dat dus alles daar ook naar verwijst?

Verder, Jieter, jij had callbacks ingebouwd binnen die request functies. Ik nam aan dat die dienen als functie objecten om resultaten in mee te geven, maar moeten die perse als parameter meegeven worden? Als ik het compleet mis heb, corrigeer me dan aub. Ik zal morgen ochtend verder kijken naar de code.

Vanaf morgen middag ben ik naar het congres maar ik probeer elke avond gewoon hieraan door te werken (en andere dingen zoals code checken).

Client: Compile .less server side

Could have:

Compile the .less stylesheets into .css server side so this doesn't have to be done client side by the less.js. This already takes up 150ms last time I checked.

Wiki: Simulator

Document workings/protocols of calling simulator, conversion of circuit, etc.

Time estimate: 1 hour.

Peer-review Niels

Niels moet zijn peer review nog invullen.
(Test van het issue systeem)

Client: Save circuit

Convert to JavaScript object, convert to JSON, send circuit to server and give confirmation/feedback in the GUI.

Time estimate: 5 hours

Connection... and it's gone!

Hey gasten,

Ik heb een probleem dat mijn tests het niet doen... dat kan aan mij liggen.. maar wat in ieder geval ook niet klopt is dat de ping het niet meer doet. Dus of ik doe iets verkeerd of iemand heeft iets aan de server veranderd waardoor er geen connection meer is. Kan dit kloppen, ervaart iemand anders dit ook?

Client: Create basic GUI

Create the basic GUI structure in the index.html webpage. This includes menus, status bar, the primary content blocks and the modelling grid. Write the JavaScript action listeners scaffolding that will handle the interactions between these elements.

Research the best approach to implementing the modelling grid and content blocks that will do display complex graphics.

Client: fix new gate drag-drop defocus

So implementing the drag-drop proved to be more troublesome than expected. I've been wrestling with some bugs for hours, but when I understood this one I realized it's for another time.

So when you drag-drop a gate you'll notice the new gate appears but sort of loses focus (it's actually that it's not responding to an even). This is because the newly visible element is not the one that received the mouse down event, so it won't start dragging. This should be do-able by manually triggering the "mouse.draggable" event on the new element when example gate was clicked, but this doesn't seem to work.

Fixing this should be possible. This post lines out how it could be fixed, but the implications are rather big on the implementation. It would cost some time.

Client: Load circuit

Request list of circuit from server, process reply by presenting user with a list in the GUI. Process selection event by sending to the server and load the returned circuit by the server in the modeller.

Time estimate: 10 hours

Server: Simulate circuit

Forward call to the solver (includes converting circuit JSON to SBML XML, see issue #48) and reply result back to the client.

Time estimate: 2 hours.

Documentation

Can everyone add @author "Name" to their code?
And we need to figure out a cool new name instead of BioBrick modeller...

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.