makers_against_covid's People
makers_against_covid's Issues
Более подробные карточки изделий
- Фотографии изделия
- Текстовое описание
- Габариты одного изделия (X,Y,Z)
- Какой тип принтеров способен напечатать изделие
- Сложность изделия (насколько сложно напечатать)
При регистрации с уже существующим e-mail, нет сообщения об ошибке.
Добавить возможность указать логистику при создании запроса на производство
Но выбор там другой - могу забрать сам/необходимо доставить мне.
Есть такое видение
-
Сценарий "Новый посетитель - Мейкер".
Посетитель проходит Регистрацию как Производитель, после успешного завершения операции, осуществляется автоматический Вход и производитель попадает на страницу, где видит личную статистику по напечатанным/переданным изделиям. Имеет возможность выбрать Тип изделия, Модель, указать Количество и Добавить. Опционально: указать тип пластика. Пользователь имеет возможность Выйти и повторно войти. -
Сценарий "Новый посетитель - Врач".
Посетитель оставляет Заявку на изготовление определенных Продуктов, выбирая Тип, Модель, и указывая необходимое Количество по каждому из Продуктов. Попутно мы регистрируем пользователя как Врача и после успешного заполнения формы, выполняем автоматический Вход. Врач видит Список Заявок, с Номером Заявки и Статусом. -
Сценарий "Администратор".
Администратор входит в Панель администрирования и имеет возможность просмотреть всех Мейкеров, всех Врачей, все Продукты, все Заявки, все Статусы и возможность изменить одно из полей, удалить запись, добавить запись вручную, отсортировать по любому из столбцов (по сути селектим все и выводим в таблицу с редактируемыми ячейками).
3.1 Работа с Заявками.
На странице Заявки есть переключатель Список/Карта. В режиме Карты отображаются все адреса доставки на карте, по нажатию выводится дополнительная информация о заявке. Ее Номер, тип и количество изделий и т.п. Необходимо реализовать возможность смены Статуса у Заявки согласно списку Статусов доступных для заявок (например: запланировано, в процессе, завершено).
-
Здесь надо описать сценарий по забору у мейкеров продукции и доставке им пластика. Пока не до конца вник в данный процесс.
-
Здесь было бы идеально приложить вайрфреймы, скетчи, прототипы, дизайн-макеты.
Таблицы в БД: 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
Возможность пополнять перечень изделий
- Возможность со стороны нуждающихся оставить заявку на добавление (или даже разработку) отсутствующих в перечне изделий. Возможность прикрепить файлы с фотографиями/моделями.
- Возможность со стороны администрации добавить изделие в перечень
Роли пользователей
Выделить следующие роли:
- Волонтер (доставка, упаковка, прочее физическое участие)
- Координатор (наблюдает, общается при необходимости)
- Производитель (печать, механическая обработка)
- Нуждающийся (просит изделия)
- Администратор (обслуживание сайта, публикации, карточки изделий)
Выбор роли осуществляется на стадии регистрации. Возможно входить сразу в несколько групп. Некоторые роли может назначить только администратор.
API для приема заявок
Воспринимать произведенные детали как баланс
Для обсуждения.
Появилась тут мысль, что детали - это, условно говоря, баланс. Мейкер может себе свободно пополнять - мы просто логируем действие, что Вася отметил, что произвел 3 детали типа А.
Этот баланс можно переводить - 10 деталей с баланса мейкера Васи переходят на баланс координатора Пети по заявке на логистику. Потом 100 деталей с баланса координатора Пети переходят на баланс районной поликлинники №53, опять таки, через заявку на логистику.
При этом логистика может как помечаться как one-click, если Вася сам доставил детали Пете - то он может просто пометить и сразу закрыть, а может создавать координатором и назначаться на специалиста по логистике. Аналогично с больничками.
Перевести формы регистрации, авторизации и шаблоны e-mail'ов на русский язык
Система уведомлений о новых комментариях, обновлениях
Думаю, нужно сделать как в GitHub - страничку с непрочитанными уведомлениями. Чтобы можно было зайти и сразу понять, как изменился статус твоих заявок.
Фитбек от координаторов
Логика работы должна быть простой, кто-то (врач или координатор) оставляет заявку на изделия, далее региональный координатор берет ее в работу и распределяет между печатниками, я должен видеть кто взял заявку от кого и сколько пластика на это надо, при этом чекрыжить, что отправил столько то катушек, такойто массы, такогото типа пластика от такгото производителя координатоу
Авторизация через соцсети
Собрать актуальный список популярных изделий. Оформить страницы изделий
Капча
Валидация форм
Страница с картой печатников
Образец без актуальных данных - 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>
Оформить README с инструкцией по началу разработки. Добавить docker-compose
Страница скидок от производителей пластика и методов их получения
Можно найти здесь: https://t.me/help3d_covid19
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.