Есть программа для построения блок-схем, написана на c# + windows forms, писал я сам. Все исходники есть.
Нужно переписать эту программу на javascript + canvas, серверная часть не понадобится.
Логика программы полностью написана, но на c#. Есть классы для описания всей схемы, блоков, точек. Реализован механизм автоматического расположения блоков. Нужно перенести эти структуры данных на javascipt.
Если непонятно как что-то работает, могу все подробно рассказать т.к. писал сам.
Из функционала нужно сохранить:
1) Построение блок-схемы, вставку блоков мышкой, автоматическое расположение блоков.
2) Окно свойств блока (открывается по двойному клику на блок). Его можно встроить прямо на страницу где-нибудь сбоку.
3) Генерацию кода по схеме (генерируется код на javascipt)
4) Сгенерированный по схеме javascipt код выполнить через eval и результат показать где-нибудь на форме.
5) Копирование, вставка, вырезание блоков
6) Сохранять схему нужно в JSON (подразумеваю сгенерировать json код и показать на странице) и открывать тоже из JSON (подразумеваю вставить в поле ввода на форме json код, т.к. приложение полностью на клиенте). Так будет проще (сейчас XML)
7) Стиль отрисовки схемы нужно сделать примерно как сейчас.
На картинке во вложении описал что должно получиться (какие блоки убрать и какие кнопки будут)
Можно использовать любые js библиотеки.
Код главное чтобы работал. Все браузеры поддерживать не нужно. Нужен последний хром и firefox.
По дизайну сделать самый минимум. Нужна только область рисования и под ней кнопки в каком угодно виде.
Мой программа с исходниками тут:
Есть программа которую начал делать предыдущий исполнитель:
(реализована отрисовка части блоков, частично готов интерфейс). Как минимум html разметку и стили можно взять оттуда, еще там есть код которые рисует блоки.
Так же есть пояснительная записка по этой работе (сдавал в универе). Там все описано, если будет нужно могу выслать.
По времени: очень важно сделать за неделю и периодически показывать что уже готово. Если будут вопросы я объясню как все работает.