Разместите свой проект бесплатно и начните получать предложения от фрилансеров-исполнителей уже спустя минуты после публикации!
50 000 ₽

Конвертация очень сложных и разных таблиц (docx и xlsx) в json (C#)

прием ставок


Конвертация очень сложных и разных таблиц (docx и xlsx) в json (C#)

Привет, проект declarator.org/  (противодействие коррупции) ищет фриланс программиста на C# для развития программы Смартпарсера ( github.com/TI-Russia/smar... ). Программа Смартпарсер берет на вход документ (docx, xlsx и другие) и преобразует в json. Пример входного документа ( declarator.org/office/vie... ). Примеры выходного json можно найти в спецификации ( docs.google.com/document/... ).

Мы не являемся коммерческим проектом, деньги – это пожертвования, включая зарубежные, поэтому мы платим меньше, чем это делают в других местах. Мы действуем строго в рамках российского законодательства, но предполагаем , что участники проекта осознают, что борьба с коррупцией в нашей стране может вызвать ответную реакцию у коррупционеров. Взвесьте все риски перед тем, как писать нам. Сайт Декларатор.орг – проект автономной некоммерческой организации Трансперенси Интернешнл Россия ( transparency.org.ru ).

У нас есть две основные метрики для Смартпарсера – полнота и точность. Полнота – это количество файлов, которые может обработать Смартпарсер и не упасть. Точность – это измеряемое автоматически или руками качество выходных json. Пока основная метрика полноты – header_recall (его значение на сегодняшний день примерно 72%). Мы предполагаем, что поднятие этой метрики еще на 3% – это около месяца работы одного разработчика. За этот месяц работы мы готовы заплатить 50.000 рублей.
Нужно понимать, что само программирование занимает в этом проекте максимум 1/3, остальное – аналитика, написание тестов, тестирование других метрик.

Обязательные требования
Дополнительные условия такие:
1. Работа не должна длиться сильно больше месяца.
3. Ваш код должен пройти ревью (программного кода не должно быть слишком много, он должен читаться).
4. Вам будет дан массив, на котором вы будете тестировать header_recall, но окончательная оценка производится на закрытом корпусе (у вас не будет к нему доступа).
5. Новые файлы по точности не должны быть сильно хуже старых файлов (проверка на Толоке или автоматическая проверка)
6. Мы используем регрессионные тесты, вам надо будет пополнить базу тестов.

У нас нет никакой спешки и это не последние 50000 рублей, которые мы готовы заплатить за развитие этого проекта, поэтому мы будем искать программиста, который покажет свою заинтересованность на старте (скачает исходники, запустит тесты, поймет, что ему по силам копаться в уже существующем коде.

 



  1.  фрилансер больше не работает на сервисе
  2. 15 дней50 000 ₽
    Олег
    Олег Поляков
    142   

    Здравствуйте Алексей!
    Опыт есть. Готов реализовать
    Для детального и оперативного обсуждения укажите пожалуйста скайп, телеграмм, почту.

    Россия Екатеринбург | 15 января в 12:02 |
  3. 16 дней50 000 ₽
    Андрій
    Андрій Рудий
    135   

    Здравствуйте, я занимаюсь c# более трех лет и знаком обработкой данных xml
    Готов реализовать взаимодействие с json на новой библиотеке от Microsoft, и не использовать сторонние костыли
    Буду рад сотрудничать

    Украина Ивано-Франковск | 16 января в 15:34 |
  • Александр Родионов
    15 января в 13:10 |

    Доброго времени суток. Не совсем понимаю, как рассчитывается header_recall. Упоминаний этой метрики в коде проекта не нашел. Исходя из текста задачи кажется, что Вы запускаете обработку какого-то набора документов и фиксируете процент обработанных до первого сбоя. Это верно? Если нет, то прошу описать, как именно рассчитывается данная метрика. 

  • Алексей Сокирко — заказчик проекта
    16 января в 04:23 |

    Мы запускаем программу. Она ищет входную таблицу и пробует читать первые N строк. Чаще всего она не может прочитать либо заголовки колонок, либо содержимое в каком-то новом формате.  У нас нет перечисленных форматов.

    Мы можем попробовать сделать так. Вы выделяете условно один рабочий день (будет ли это меньше, мне не важно). Будем считать, что этот "один рабочий день" стоит 2.5 тыс. рублей. Я перевожу вам деньги до начала работы. Вы начинаете разбираться с нашим хозяйством, я на связи и помогаю максимально. В какой-то момент вы говорите, что рабочий день закончен. Я смотрю, что вы сделали:
    1. удалось ли все собрать и запустить, прогнать тесты.
    2. удалось ли запустить программу на корпусе (хотя бы 100 документов)
    3. удалось ли найти документы, на котором программа упала
    4. удалось ли понять, почему это произошло (на словах)
    5. удалось ли понять, как это чинить (на словах)
    6. дополнить программу и закоммитить в бранч
    7. Включить пример в тесты
    Я уверен, что все вы за один "день" не сделаете (я бы сам не смог), но мы
    посмотрим, что у вас получилось. Вы сами посмотрите. Будем считать, что это тестовое задание. Пойдет так? Я в телеграме t.me/alexey_sokirko

  • Александр Сотников
    15 января в 17:31 |

    Полностью не ознакомился со спецификацией, пока дочитал сюда:

    Встречается два основных способа написания в декларациях:

    1. Фамилия Имя Отчество (Иванов Иван Иванович)
    2. Фамилия И. О. (Иванов И. И.

    Было бы логично, если бы вы предоставили два вида файлов на вход: с примерами двух разных способов написания фио в декларации. 

  • Алексей Сокирко — заказчик проекта
    16 января в 04:21 |

    Привет, мы можем попробовать сделать так. Вы выделяете условно один рабочий день (будет ли это меньше, мне не важно).  Будем считать, что этот "один рабочий день" стоит 2.5 тыс. рублей. Я перевожу вам деньги до начала работы. Вы начинаете разбираться с нашим хозяйством, я на связи и помогаю максимально. В какой-то момент вы говорите, что рабочий день закончен. Я смотрю, что вы сделали:  
    1. удалось ли все собрать и запустить, прогнать тесты. 
    2. удалось ли запустить программу на корпусе (хотя бы 100 документов) 
    3. удалось ли найти документы, на котором программа упала 
    4. удалось ли понять, почему это произошло (на словах) 
    5. удалось ли понять, как это чинить (на словах) 
    6. дополнить программу и закоммитить в бранч 
    7. Включить пример в тесты 
    Я уверен, что все вы за один "день" не сделаете (я бы сам не смог), но мы 
    посмотрим, что у вас получилось. Вы сами посмотрите. Будем считать, что это тестовое задание. Пойдет так? Я в телеграме t.me/alexey_sokirko

  • Александр Гарибас
    17 января в 01:54 |

    Здравствуйте.
    Только c#?

  • Алексей Сокирко — заказчик проекта
    17 января в 02:38 |

    У нас есть программа, которая работает с некоторой полнотой. Почему-то она написана на С#. Если вы перепишите все на другой язык - вперед. Наша задача - поднимать полноту.