Blueprint — платформа для хранения и поиска студенческих проектов прошлых лет с материалами по всем этапам разработки.
Этот репозиторий содержит веб-платформу, созданную в рамках курсов «Полезное приложение» и «Проектный практикум». Проект помогает студентам быстрее стартовать работу над своим продуктом, смотреть примеры прошлых лет и ориентироваться в требованиях курса.
Что можно делать в Blueprint:
- смотреть проекты прошлых лет в одном месте
- искать проекты по тегам, технологиям и параметрам
- открывать карточку проекта с описанием и составом команды
- переходить к материалам проекта: CustDev, MVP, roadmap, описание и ссылки на продукт
- вдохновляться чужими идеями и проверять, не реализована ли уже похожая
- Склонируйте репозиторий.
- Создайте
.envна основе файла.env.example. - Заполните переменные окружения для ASP.NET, PostgreSQL и Grafana.
- Запустите проект:
docker compose up -d --build
- После запуска будут доступны:
- backend:
http://localhost:8080 - Prometheus:
http://localhost:9090 - Grafana:
http://localhost:3000
- backend:
Для запуска тестов:
dotnet test- HTML
- CSS
- JavaScript
Статический фронтенд лежит в Api/wwwroot. Логотип и графические ресурсы лежат в Api/wwwroot/resources/images.
- C#
- ASP.NET Core Web API
- MediatR
- Swagger
Основные ручки проекта:
GET /api/projects/projectsGET /api/projects/project/{id}GET /api/projects/tagsHEAD /api/metrics/rebuild_open_cohorts_retention
- PostgreSQL
- Entity Framework Core
В проекте есть сущности для проектов, участников, тегов, файлов и таблиц метрик.
- CSV parser для загрузки проектов из таблицы
- seed data для тегов и типов тегов
- OpenTelemetry
- Prometheus
- Grafana
- Docker
- Docker Compose
- Nginx
- GitHub Actions
- NUnit
Основные части решения:
- Api — ASP.NET Core приложение, контроллеры и статические файлы фронтенда
- Infrastructure — доступ к данным, репозитории, парсеры, конфигурация БД
- Client.Models — DTO и общие модели
- Core — доменная и прикладная логика
- Test — тесты парсера и метрик
В проекте предусмотрен мониторинг пользовательской активности и технических метрик.
Используется связка Prometheus + Grafana, а также отдельная логика для метрик просмотров и retention. Для деплоя и проксирования запросов используется Nginx.
- Арина Кискина — дизайн, верстка, пользовательский интерфейс, страницы каталога и проекта, интеграция фронта с API
- Артем Скворок — основные project API-ручки, хендлеры запросов, обработка ошибок, работа с backend-логикой
- Илья Котов — метрики, cookie/session tracking, metric backend, CSV-парсер таблицы проектов, интеграция аналитики в flow просмотра
- Екатерина Толканюк — схема БД, сущности, миграции, сиды, теги и общая интеграция серверной части
- Казанцева Илона — деплой, nginx, HTTPS, Docker и CI/CD