ХакатонReact, FastAPI, PostgreSQL, Yandex Maps

Платформа для волонтёров по уборке мусора

Карта проблемных точек и волонтёрских уборок мусора с интерактивной картой и личным кабинетом участника.

Платформа для волонтёров по уборке мусора

Задача

Кейс хакатона TrashHack: сделать систему, где люди сами размечают проблемные места и сами же их закрывают — без централизованной службы, которая физически не успевает объехать всё. Цель проекта в этом смысле парадоксальная и прямо заявлена в самом приложении: чем меньше оно нужно, тем лучше оно сработало.

Реализация

Этот проект легендарен тем, что за 12 часов до защиты фронтенд переписывался с нуля со Svelte на React ввиду конфликта зависимостей с Yandex Maps.

Основа — карта на Yandex Maps с точками-проблемами (ProblemPoint): можно отметить новую свалку или откликнуться на уже отмеченную. У каждого волонтёра есть личный кабинет со своими откликами и статистикой участия.

Главная страница TrashRex

Бэкенд на FastAPI с PostgreSQL хранит точки и профили волонтёров; я занимался фронтендом на React — лендинг, карта, авторизация и личный кабинет.

Вход и регистрация

Запуск

git clone https://github.com/InTeam-Russia/hack-trashack2024
cd hack-trashack2024
docker compose build
docker compose up
./restore_database.sh
npm run start

Фронтенд поднимается на 127.0.0.1:80, бэкенд на FastAPI — на 10.1.0.100:8000.