elkorn / codiag Goto Github PK
View Code? Open in Web Editor NEWA simple collaborative diagramming tool.
A simple collaborative diagramming tool.
The diagram should optimally be an unlimited virtual canvas, viewed and scrolled through a limited viewport. The dimensions of the viewport should depend on the browser window size.
Use yeoman to generate a seed project for the front end.
Bind the handler currently being used on $routeChangeStart
in the diagram
directive to fire on Firebase's disconnect
event as well.
The user should be able to remove a bubble. A bubbe should be removed by the delete
hotkey while it is not being edited or by leaving it's text blank otherwise.
Do some research on whether a server-side diagram synchronization component is really necessary. An alternative concept might be that of a user being an "op" (as on IRC) of a diagram, which would bring the matter race condition resolution to the client side.
The culprit is the content type with which the font files are sent. Add appropriate express middleware to handle that case.
Remove excessive console.log
statements.
Enable creating boxes with text inside them through fabric.js
.
The user must be able to connect diagram components. Implement simple, straight-line connections between diagram components.
Possible improvements: directed connections, selectable connection strategy (bezier, straight angle etc).
Use Angular bindings to take advantage of Firebase features.
Note: This issue may be obsolete as belonging to the back-end if AngularFire turns out to be enough for persistence i.e. #14 results will prove that client-side is enough.
Extract the diagram styling variables and make it look nicer overall.
Create a menu on the top of the diagramming view.
The menu should allow performing all the implemented diagramming functionalities and give information about their keyboard shortcuts in tooltips.
To participate in creatign a diagram, a user must be able to view the existing 'rooms' or create a new one. Implement the functionalities related to The 'room' list view.
The application has to be able to distinguish separate users. Implement the following functionalities:
A user should be able to see who is actually connected to each room.
Add the following functionalities:
Apart from the diagramming itself, the project needs logon and diagramming 'rooms'.
The site should be running on AngularJS. (This will or will not be a requirement depending on who will be assigned to the issue)
The text within the active diagram box should be editable. Implement a keyboard input handler causing it to change.
Introduce a functionality allowing the user to connect the currently selected bubble with a different one.
The connection should be possible to make only if no such connection yet exists,
Allow creating new bubbles as children of existing ones. A connection has to be automatically created.
Removing bubble functionality is not wired up to the respective button in the authoring view. Fix it.
Adding child bubbles does not work in the authoring view. Fix it.
Use Socket.IO to enable collaboration. Each room should be an extension of the Socket.IO's notion of a room.
Enable adding standalone bubbles to the diagram. A hash-map of bubbles has to be maintained within the diagram itself.
While removing a bubble with some connections, one of the connections remains after the removal. This causes errors while loading the diagram. Fix it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.