Изначально планировал: пользователь может создавать события (точки на карте) и связывать их друг с другом, получая маршрут. Каждое событие помимо описание имеет время проведения.
Что хочу сейчас: сделать возможность полноценно рисовать на карте, как можно делать в geojson. Пусть пользователь создает свои собственные точки интереса, маршруты, геометрии и так далее и сохраняет их себе в профиль. Этими вещами затем можно делиться (карта открыта для незарегистрированных пользователей, по ссылке пусть отображает слой), их можно видеть, если пользователь в друзьях и т.д.
Такие слои хранить в PostGIS для каждого пользователя. А события пусть привязывают такие слои, чтобы можно было создать слой для маршрута прогулки/поездки, а затем прикрепить его к событию в определенное время.
-
Web server https://caddyserver.com
-
Download openstreetmap data https://slice.openstreetmap.us
-
Geojson, PostGIS in go https://github.com/paulmach/orb/tree/master
-
Build pmtiles from osm data https://github.com/systemed/tilemaker or https://github.com/onthegomap/planetiler
-
Create and edit maplibre styles https://github.com/maplibre/maputnik
-
View OSM map data https://github.com/openstreetmap/osmosis
-
Generate basemaps style https://github.com/protomaps/basemaps
PMTiles can be viewed here https://maps.protomaps.com
SPB bbox: 29.410000,59.615000,30.780000,60.265000
- https://til.simonwillison.net/gis/pmtiles
- https://til.simonwillison.net/overture-maps/overture-maps-parquet#user-content-filtering-for-places-in-half-moon-bay
- Веб-интерфейс
- Серверная часть
- Полнотекстовый поиск
- Разграничение ролей (пользователь/администратор)
- 2FA по логину/паролю и OTP
- Смена пароля
- Автоматическая сборка проектов
- Настройка статического анализатора кода
- Мониторинг состояния системы (ELK, Graphana Loki)
- Дашборды с потреблением ресурсов сервера: ОЗУ, CPU, GPU, ПЗУ
- Дашборд со списком всех процессов проекта, должен показывать потребление ресурсов процессами
- Дашборд мониторинга доступности сторонних API, если используются
- Хэширование паролей в БД
- Отчет по практической безопасности
- Описание программы (технологии, архитектура, функциональные и структурные схемы)
- Руководство пользователя
Оценка отлично:
- более 90% заявленного функционала стабильно работает (включая килл-фичу);
- хороший UI/UX;
- не выполнено максимум одно требование к проекту (см. требования к проекту от 19 февраля)
Оценка хорошо:
- более 70% заявленного функционала стабильно работает;
- хороший UI
- не выполнены максимум два требования к проекту (см. требования к проекту от 19 февраля)
Оценка удовлетворительно:
- более 50% заявленного функционала стабильно работает;
- не выполнены максимум четыре требования к проекту (см. требования к проекту от 19 февраля)
*Это примерные рамки, всегда могут быть исключения как в большую, так и в меньшую сторону. Будут учитываться так же: сложность проекта, грамотное разделение ролей и задач, история ведения Git, баг-трекера и тд.