Skip to content

A Python-based tool that allows users to store, retrieve, and analyze historical data associated with status changes, making it useful for monitoring progress.

Notifications You must be signed in to change notification settings

kaschenkkko/StatusHistory

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StatusHistory

Документация API

Status History - API redoc

Описание проекта:

Есть несколько рабочих сервисов, у каждого сервиса есть состояние работает/не работает/работает нестабильно.

Написан API который:

  1. Получает и сохраняет данные сервиса: имя, состояние, описание.
  2. Выводит список сервисов с актуальным состоянием.
  3. По id сервиса выдает историю изменения состояния и все данные по каждому состоянию.
  4. По указанному интервалу выдаёт информация о том сколько не работал сервис и считает SLA в процентах до 3-й запятой.

Описание API:

  • GET /api/services/ - выводит список сервисов с актуальным состоянием.
  • POST /api/services/ - добавление нового сервиса.
  • GET /api/history/{service_id}/ - выдает историю изменений состояния.
  • GET /api/{service_id}/{start_date}/{end_date}/: выдаёт информация о том сколько не работал сервис и считает SLA.

Запуск проекта:

  • Клонируйте репозиторий и перейдите в него.
  • Перейдите в папку infra и проверьте, что файл .env заполнен данными представленными ниже:
    DEBUG=True
    ALLOWED_HOSTS=127.0.0.1
    
  • Из папки infra запустите docker-compose
    ~$ docker-compose up -d --build
    
  • В контейнере web выполните миграции, создайте суперпользователя и соберите статику.
    ~$ docker-compose exec web python manage.py migrate
    ~$ docker-compose exec web python manage.py createsuperuser
    ~$ docker-compose exec web python manage.py collectstatic --no-input
    

После этого API проекта будет доступно по url-адресу 127.0.0.1/api/

Документация к API будет доступна по url-адресу 127.0.0.1/api/docs

About

A Python-based tool that allows users to store, retrieve, and analyze historical data associated with status changes, making it useful for monitoring progress.

Topics

Resources

Stars

Watchers

Forks

Languages

  • Python 93.9%
  • HTML 4.7%
  • Dockerfile 1.4%