GithubHelp home page GithubHelp logo

makers_against_covid's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

makers_against_covid's Issues

Более подробные карточки изделий

  • Фотографии изделия
  • Текстовое описание
  • Габариты одного изделия (X,Y,Z)
  • Какой тип принтеров способен напечатать изделие
  • Сложность изделия (насколько сложно напечатать)

Есть такое видение

  1. Сценарий "Новый посетитель - Мейкер".
    Посетитель проходит Регистрацию как Производитель, после успешного завершения операции, осуществляется автоматический Вход и производитель попадает на страницу, где видит личную статистику по напечатанным/переданным изделиям. Имеет возможность выбрать Тип изделия, Модель, указать Количество и Добавить. Опционально: указать тип пластика. Пользователь имеет возможность Выйти и повторно войти.

  2. Сценарий "Новый посетитель - Врач".
    Посетитель оставляет Заявку на изготовление определенных Продуктов, выбирая Тип, Модель, и указывая необходимое Количество по каждому из Продуктов. Попутно мы регистрируем пользователя как Врача и после успешного заполнения формы, выполняем автоматический Вход. Врач видит Список Заявок, с Номером Заявки и Статусом.

  3. Сценарий "Администратор".
    Администратор входит в Панель администрирования и имеет возможность просмотреть всех Мейкеров, всех Врачей, все Продукты, все Заявки, все Статусы и возможность изменить одно из полей, удалить запись, добавить запись вручную, отсортировать по любому из столбцов (по сути селектим все и выводим в таблицу с редактируемыми ячейками).

3.1 Работа с Заявками.
На странице Заявки есть переключатель Список/Карта. В режиме Карты отображаются все адреса доставки на карте, по нажатию выводится дополнительная информация о заявке. Ее Номер, тип и количество изделий и т.п. Необходимо реализовать возможность смены Статуса у Заявки согласно списку Статусов доступных для заявок (например: запланировано, в процессе, завершено).

  1. Здесь надо описать сценарий по забору у мейкеров продукции и доставке им пластика. Пока не до конца вник в данный процесс.

  2. Здесь было бы идеально приложить вайрфреймы, скетчи, прототипы, дизайн-макеты.

Таблицы в БД: makers,doctors,products,orders,statuses

Прочие задачи (заявки)

Задачи могут быть не только на производство, но и для волонтеров.
Например: организовать пластик, забрать изделия, отвезти изделия нуждающимся, и т.д.

Ошибка Readonly БД при локальном запуске

Делаю
docker build -t makers .
docker run -p 8080:8080 makers
Подключаюсь к контейнеру через docker exec, выполняю миграцию

После этого не могу зарегистрироваться, ошибка что БД readonly. Немного погуглив, нашел решение https://stackoverflow.com/questions/40703228/python-sqlite3-operationalerror-attempt-to-write-a-readonly-database

Возможность пополнять перечень изделий

  1. Возможность со стороны нуждающихся оставить заявку на добавление (или даже разработку) отсутствующих в перечне изделий. Возможность прикрепить файлы с фотографиями/моделями.
  2. Возможность со стороны администрации добавить изделие в перечень

Роли пользователей

Выделить следующие роли:

  • Волонтер (доставка, упаковка, прочее физическое участие)
  • Координатор (наблюдает, общается при необходимости)
  • Производитель (печать, механическая обработка)
  • Нуждающийся (просит изделия)
  • Администратор (обслуживание сайта, публикации, карточки изделий)

Выбор роли осуществляется на стадии регистрации. Возможно входить сразу в несколько групп. Некоторые роли может назначить только администратор.

Воспринимать произведенные детали как баланс

Для обсуждения.

Появилась тут мысль, что детали - это, условно говоря, баланс. Мейкер может себе свободно пополнять - мы просто логируем действие, что Вася отметил, что произвел 3 детали типа А.
Этот баланс можно переводить - 10 деталей с баланса мейкера Васи переходят на баланс координатора Пети по заявке на логистику. Потом 100 деталей с баланса координатора Пети переходят на баланс районной поликлинники №53, опять таки, через заявку на логистику.
При этом логистика может как помечаться как one-click, если Вася сам доставил детали Пете - то он может просто пометить и сразу закрыть, а может создавать координатором и назначаться на специалиста по логистике. Аналогично с больничками.

Фитбек от координаторов

Логика работы должна быть простой, кто-то (врач или координатор) оставляет заявку на изделия, далее региональный координатор берет ее в работу и распределяет между печатниками, я должен видеть кто взял заявку от кого и сколько пластика на это надо, при этом чекрыжить, что отправил столько то катушек, такойто массы, такогото типа пластика от такгото производителя координатоу

Страница с картой печатников

Образец без актуальных данных - http://www.psycookbook.ru/covid/map.php
Доки yandex-api - https://tech.yandex.ru/maps/jsbox/2.1/object_manager

Надо просто положить Json файл с координатами и остальными данными, которые хочется выводить на диаграмме, рядом с html-файлом.

Подправленный скрипт, который добавляет на карту именно круговые диаграммы вместо обычных меток. (Значения у всех одинаковые пока):

<script>
ymaps.ready(init);
$data = "dataS";
function init () {
    var myMap = new ymaps.Map('map', {
            center: [55.76, 37.64],
            zoom: 10
        }, {
            searchControlProvider: 'yandex#search'
        }),
        objectManager = new ymaps.ObjectManager({
            // Чтобы метки начали кластеризоваться, выставляем опцию.
            clusterize: true,
            // ObjectManager принимает те же опции, что и кластеризатор.
            gridSize: 32,
            clusterDisableClickZoom: true
        });

    objectManager.objects.options.set('preset', 'islands#greenDotIcon');
    objectManager.clusters.options.set('preset', 'islands#greenClusterIcons');

    $.ajax({
        url: "data.json"
    }).done(function(data) {
        $data = data;
        objectManager.add(data);
        $data.features.forEach(function(el){
            console.log(el);
            arr = el.geometry.coordinates;
            $id = el.id;
            $iconCaption = el.properties.iconCaption;
            $description = el.properties.description;
            var myPieChart = new ymaps.Placemark(arr,
                            {
                                // Данные для построения диаграммы.
                                data: [
                                    {weight: 8, color: '#ed7070'},
                                    {weight: 6, color: '#268E00'},
                                    {weight: 4, color: '#4F4FD9'}
                                ],
                                iconCaption: $iconCaption,
                                iconContent: $id,
                                balloonContent: $description

                            }, {
                                // Зададим произвольный макет метки.
                                iconLayout: 'default#pieChart',
                                // Радиус диаграммы в пикселях.
                                iconPieChartRadius: 20,
                                // Радиус центральной части макета.
                                iconPieChartCoreRadius: 10,
                                // Стиль заливки центральной части.
                                iconPieChartCoreFillStyle: '#ffffff',
                                // Cтиль линий-разделителей секторов и внешней обводки диаграммы.
                                iconPieChartStrokeStyle: '#ffffff',
                                // Ширина линий-разделителей секторов и внешней обводки диаграммы.
                                iconPieChartStrokeWidth: 3,
                                // Максимальная ширина подписи метки.
                                iconPieChartCaptionMaxWidth: 200
                            });
            myMap.geoObjects.add(myPieChart);
            }); 
    });
}
</script>

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.