Skip to content

iposho/holidays-calendar-ru

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vercel GitHub Size Last Commit MIT LICENSE

Производственный календарь

Производственные календари в формате JSON, актуальные для Российской Федерации.

Первый доступный год — 2023, последний — 2024.

Постоянная ссылка на репозиторий: github.com/iposho/holidays-calendar-ru

Примеры использования

/api/calendar

curl -H "Content-Type:application/json" -X GET "https://holidays-calendar-ru.vercel.app/api/calendar"

Вернет массив имеющихся в наличии календарей.

{
  "years": [
    2023,
    2024
  ],
  "status": 200
}

/api/calendar/:year

curl -H "Content-Type:application/json" -X GET "https://holidays-calendar-ru.vercel.app/api/calendar/2023"

Вернет объект с годом и массивом объектов месяцев. Описание объекта месяца ниже.

{
  "year": 2023,
  "months": [
    {
      "id": 0,
      "name": "January",
      "workingDays": 17,
      "notWorkingDays": 14,
      "shortDays": 0,
      "workingHours": 136
    },
    // February, March etc.
  ],
  "status": 200
}

/api/calendar/:year/holidays

curl -H "Content-Type:application/json" -X GET "https://holidays-calendar-ru.vercel.app/api/calendar/2023/holidays"

Возвращает праздничные и сокращенные предпраздничные дни для конкретного года.

{
  "year": 2023,
  "holidays": [
    {
      "date": "2023-01-01T00:00:00.000Z",
      "name": "Новый год"
    }
    // etc
  ],
  "shortDays": [
    {
      "date": "2023-02-22T00:00:00.000Z",
      "name": "День защитника Отечества"
    }
    //etc
  ],
  "status": 200
}

/api/calendar/:year/:month

curl -H "Content-Type:application/json" -X GET "https://holidays-calendar-ru.vercel.app/api/calendar/2023/1"

Вернет объект месяца. Нумерация месяцев начинается с 1, а не с 0. Январь — месяц под номером 1, декабрь — под номером 12.

Объект содержит id месяца, имя, количество рабочих, нерабочих и коротких дней, а также рабочих часов при восьмичасовой рабочей неделе.

{
  "year": 2023,
  "month": {
    "id": 0,
    "name": "January",
    "workingDays": 17,
    "notWorkingDays": 14,
    "shortDays": 0,
    "workingHours": 136
  },
  "status": 200
}

/api/calendar/:year/:month/:day

curl -H "Content-Type:application/json" -X GET "https://holidays-calendar-ru.vercel.app/api/calendar/2023/2/22"

Вернет объект конкретного дня.

Объект содержит информацию о месяце, точную дату, признак рабочего/нерабочего/сокращенного, название праздника, если день праздничный или предпраздничный.

{
  "year": 2023,
  "month": {
    "name": "February",
    "id": 1
  },
  "date": "2023-02-22T00:00:00.000Z",
  "isWorkingDay": true,
  "isShortday": true,
  "holiday": "День защитника Отечества",
  "status": 200
}

Локальная установка

git clone https://github.com/iposho/holidays-calendar-ru.git
cd holidays-calendar-ru/
npm i
[...]
npm run dev

Как внести свой вклад

  1. Форкните этот репозиторий.
  2. Создайте ветку своей фичи (git checkout -b my-new-feature).
  3. Закоммитьте изменения (git commit -am 'Add some feature').
  4. Запушьте изменения в репозиторий (git push origin my-new-feature).
  5. Создайте новый пулл-реквест в ветку development.

Лицензия

Это проект с открытым кодом, распространяющийся под лицензией MIT License.