Skip to content

Kitiketov/Blueprint

 
 

Repository files navigation

Blueprint logo

Blueprint

Platform Language Frontend Database Monitoring Status

Blueprint — платформа для хранения и поиска студенческих проектов прошлых лет с материалами по всем этапам разработки.

Этот репозиторий содержит веб-платформу, созданную в рамках курсов «Полезное приложение» и «Проектный практикум». Проект помогает студентам быстрее стартовать работу над своим продуктом, смотреть примеры прошлых лет и ориентироваться в требованиях курса.

Contents

About

Что можно делать в Blueprint:

  • смотреть проекты прошлых лет в одном месте
  • искать проекты по тегам, технологиям и параметрам
  • открывать карточку проекта с описанием и составом команды
  • переходить к материалам проекта: CustDev, MVP, roadmap, описание и ссылки на продукт
  • вдохновляться чужими идеями и проверять, не реализована ли уже похожая

Проектные материалы

Шаги для установки

  1. Склонируйте репозиторий.
  2. Создайте .env на основе файла .env.example.
  3. Заполните переменные окружения для ASP.NET, PostgreSQL и Grafana.
  4. Запустите проект:
    docker compose up -d --build
  5. После запуска будут доступны:
    • backend: http://localhost:8080
    • Prometheus: http://localhost:9090
    • Grafana: http://localhost:3000

Для запуска тестов:

dotnet test

Tech Stack

Frontend

  • HTML
  • CSS
  • JavaScript

Статический фронтенд лежит в Api/wwwroot. Логотип и графические ресурсы лежат в Api/wwwroot/resources/images.

Backend

  • C#
  • ASP.NET Core Web API
  • MediatR
  • Swagger

Основные ручки проекта:

  • GET /api/projects/projects
  • GET /api/projects/project/{id}
  • GET /api/projects/tags
  • HEAD /api/metrics/rebuild_open_cohorts_retention

Database

  • PostgreSQL
  • Entity Framework Core

В проекте есть сущности для проектов, участников, тегов, файлов и таблиц метрик.

Parsing and data

  • CSV parser для загрузки проектов из таблицы
  • seed data для тегов и типов тегов

Monitoring

  • OpenTelemetry
  • Prometheus
  • Grafana

DevOps

  • Docker
  • Docker Compose
  • Nginx
  • GitHub Actions

Tests

  • NUnit

Архитектура

Основные части решения:

  • Api — ASP.NET Core приложение, контроллеры и статические файлы фронтенда
  • Infrastructure — доступ к данным, репозитории, парсеры, конфигурация БД
  • Client.Models — DTO и общие модели
  • Core — доменная и прикладная логика
  • Test — тесты парсера и метрик

Monitoring

В проекте предусмотрен мониторинг пользовательской активности и технических метрик.

Используется связка Prometheus + Grafana, а также отдельная логика для метрик просмотров и retention. Для деплоя и проксирования запросов используется Nginx.

Authors

  • Арина Кискина — дизайн, верстка, пользовательский интерфейс, страницы каталога и проекта, интеграция фронта с API
  • Артем Скворок — основные project API-ручки, хендлеры запросов, обработка ошибок, работа с backend-логикой
  • Илья Котов — метрики, cookie/session tracking, metric backend, CSV-парсер таблицы проектов, интеграция аналитики в flow просмотра
  • Екатерина Толканюк — схема БД, сущности, миграции, сиды, теги и общая интеграция серверной части
  • Казанцева Илона — деплой, nginx, HTTPS, Docker и CI/CD

About

Платформа для хранения и поиска студенческих проектов fiit прошлых лет с примерами материалов, технологий и этапов разработки

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 63.7%
  • JavaScript 16.0%
  • CSS 12.8%
  • HTML 7.3%
  • Dockerfile 0.2%