2.5 KiB
2.5 KiB
DEV-TASK: Портал приложений (apps.mva154.duckdns.org)
Контекст
Нужен портал-лендинг с карточками веб-приложений. Светлая тема, автогенерация аватарок.
Документация:
- Бизнес-требования:
tasks/apps-portal/docs/BRD.md - Техническое задание:
tasks/apps-portal/docs/TZ.md
Задача
Шаг 1: Инфраструктура
- Создать
config/apps.jsonс двумя приложениями (noisemap, snowbike-rag) - Создать
requirements.txt(flask, pillow)
Шаг 2: Автогенерация аватарок
- Реализовать функцию
generate_avatars():- Читает
config/apps.json - Для каждого приложения проверяет
static/avatars/{id}.png - Если файла нет — генерирует: градиентный фон (по хэшу name) + emoji/icon по центру
- PNG 200×200
- Читает
Шаг 3: Flask сервер
- Создать
server.py:- GET
/— главная (рендерит index.html с apps) - GET
/api/apps— JSON - GET
/static/avatars/— файлы - При старте:
generate_avatars()
- GET
Шаг 4: Главная страница
- Создать
templates/index.html:- Светлая тема (#F8FAFC фон, белые карточки)
- Tailwind CSS через CDN, шрифт Inter
- Карточки: аватарка 80×80, название, описание
- Клик → переход на url приложения
- Адаптивно: 4 → 2 → 1 колонка
- Hover: lift-эффект, синяя рамка
Шаг 5: Тест
- Запустить
python server.py - Проверить http://localhost:5560/
- Добавить третье приложение в apps.json — проверить автогенерацию аватарки
Критерии приёмки
- http://localhost:5560/ — портал с карточками
- Клик — переход на приложение
- Аватарки в static/avatars/ сгенерированы
- Светлая тема, красиво
- Адаптивно на мобильном
- /api/apps — JSON
Важно
• Всё в tasks/apps-portal/
• Порт 5560
• Pillow для аватарок (pip install pillow)
• Не трогать другие приложения