Skip to content

movsar/good-grades.api

Repository files navigation

Good Grades — Logs API & UI

Централизованный сервис сбора и просмотра логов для личных/командных проектов.

Принимает логи по HTTP, сохраняет их в БД и дает удобный веб‑интерфейс для поиска, фильтрации, статистики и базовых уведомлений.

Репозиторий содержит стандартную структуру ASP.NET Core MVC: Controllers/, Models/, ViewModels/, Views/, Migrations/, wwwroot/, а также конфигурацию appsettings.json. Название проекта — GGLogsApi.


Ключевые возможности

  • Приём логов по HTTP (JSON) c записью в БД через EF Core.

  • Веб‑интерфейс для просмотра:

    • список логов с пагинацией, сортировкой по времени и уровню;
    • фильтры по уровню (Debug/Info/Warning/Error) и источнику (машина/приложение);
    • просмотр деталей записи (сообщение, исключение, стек, свойства контекста).
  • Статистика: агрегаты по выбранному периоду (день/неделя/месяц/произвольный интервал).

  • Базовая аутентификация для UI и эндпоинтов администрирования.

  • Минимальные зависимости: обычный ASP.NET Core MVC + EF Core, Razor Views.

Проект задумывался как лёгкая альтернатива «тяжёлым» стекам, чтобы быстро получить централизованный сбор логов со своим UI и правилами алёртов.


Архитектура (в общих чертах)

  • ASP.NET Core MVC — API + UI в одном приложении.

  • EF Core — хранение в SQL (MS SQL Server; можно адаптировать к другим провайдерам).

  • Контроллеры

    • LogsController — приём и просмотр логов.
    • StatusController — агрегаты/статистика.
  • Модели

    • LogMessage — запись лога: время, уровень, сообщение, исключение, источник, доп. свойства.
  • Контекст: ApplicationContext (DbContext) + миграции в Migrations/.


API приёма логов

Эндпоинт

POST /logs
Content-Type: application/json

Пример тела запроса

{
  "timestamp": "2025-08-15T12:34:56Z",
  "level": "Warning",
  "message": "Handled exception during XYZ",
  "exception": null,
  "machine": "WIN-DEV01",
  "application": "MyApp.Service",
  "properties": {
    "OSVersion": "Microsoft Windows 10.0.19045",
    "UserId": "42",
    "CorrelationId": "b2a5e7..."
  }
}

Веб‑интерфейс

  • /status/logs — список логов (пагинация 100/стр., сортировка по дате, фильтры по уровню/источнику).
  • /status/stats — агрегаты по периодам (день/неделя/месяц/диапазон).
  • /status/logs/notifications — настройка правил уведомлений.

Доступ защищён Basic Auth. Учётные данные настраиваются в конфиге.


Набор технологий

  • ASP.NET Core MVC (UI + API)
  • Entity Framework Core (миграции/SQL)
  • Razor Views (UI)
  • Bootstrap/Tailwind (вёрстка — см. wwwroot/css)

Скрины (UI)

478487779-817dc9d9-e45c-4624-aafa-5a602fd4af68

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •