Петр Сальников › spbcod Сбер ID
Fullstack-разработчик (Symfony / Битрикс) с опытом DevOps.
Рейтинг
332
№ 3 437 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Город
Санкт-Петербург
Опыт работы
28 лет
На сайте с
2023 года
Юридический статус
ИП

Разработка универсального API времени Events in Time — от Большого взрыва до далекого будущего (Symfony)

Описание

Создать уникальный API, который по любой дате (от возникновения Вселенной до бесконечно далекого будущего) возвращает:
- Календарные данные: високосность, день недели, название месяца и дня недели на 24 языках
- Исторические события: что произошло в этот день, в этом году
- Свойства времени: сколько прошло от текущего момента
- Эпохи и периоды: AD/BC, исторические эпохи
- Геохронологическую шкалу: эон, эра, период, эпоха, ярус для геологических дат
- Космологические этапы: развитие Вселенной, галактик, Солнечной системы, Земли
- Региональные исторические периоды: для разных стран и регионов

Решение

Разработка масштабного REST API на Symfony для получения исторических, геологических и космологических событий по любой дате — от -13.8 миллиардов лет до 10^100 лет в будущее (гуголплекс).

Диапазон дат: от -13 800 000 000 до 100 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 (гуголплекс)

https://wildtracks.pro/api/time/68a8a656-1811-409a-9418-dae263162320/1975/3/13/

Создал сложную многоуровневую архитектуру на Symfony:

/src/
├── Controller/
│ └── Api/
│ └── TimeController.php # Контроллер времени
├── Service/
│ ├── Time/
│ │ ├── TimeService.php # Основной сервис
│ │ ├── Calendar/
│ │ │ ├── GregorianCalendar.php # Григорианский календарь
│ │ │ ├── ProlepticGregorianCalendar.php # Пролептический календарь
│ │ │ └── AstronomicalCalendar.php # Астрономические расчеты
│ │ ├── History/
│ │ │ ├── HistoricalEventsProvider.php # Исторические события
│ │ │ ├── DailyEventsProvider.php # События по дням
│ │ │ └── YearlyEventsProvider.php # События по годам
│ │ ├── Geology/
│ │ │ └── StratigraphicScaleProvider.php # Геохронологическая шкала
│ │ ├── Cosmology/
│ │ │ └── CosmologicalPeriodsProvider.php # Космологические периоды
│ │ ├── Linguistics/
│ │ │ ├── MonthNamesProvider.php # Названия месяцев
│ │ │ └── WeekdayNamesProvider.php # Названия дней недели
│ │ └── TimeProperties/
│ │ └── TimeDifferenceCalculator.php # Разница во времени
│ └── Token/
│ └── TokenValidator.php # Проверка токенов
├── Entity/
│ ├── HistoricalEvent.php # Исторические события
│ ├── StratigraphicUnit.php # Геохронологические единицы
│ └── CosmologicalPeriod.php # Космологические периоды
└── Repository/
├── HistoricalEventRepository.php
├── StratigraphicUnitRepository.php
└── CosmologicalPeriodRepository.php

Результат

Технические результаты
✅ API охватывает временной диапазон от -13.8 млрд лет до гуголплекса (10^100 лет)
✅ Поддержка пролептического григорианского календаря для любых дат
✅ 24 языка для названий месяцев и дней недели
✅ Исторические события для тысяч дат
✅ Геохронологическая шкала с эонами, эрами, периодами
✅ Космологические периоды (эволюция Вселенной, галактик, Солнечной системы)
✅ Региональные исторические периоды для разных стран
✅ Определение эры (BC/AD), високосности, дня недели
✅ Расчет разницы во времени (сколько прошло/осталось)

Структура ответа (более 50 полей)
Основные year, leap year, month, day, day of week, era
Мультиязычные Name of the month (24 языка), Day of the week (24 языка)
Свойства времени разница от текущего момента (годы, месяцы, дни), свойство (прошлое/настоящее/будущее)
Исторические Description (события дня), this year (события года)
Исторические периоды Era in history (глобальные), Periud (региональные)
Геохронология Stratigraphic scale (эон, эра, период, эпоха, ярус)
Космология Space (космологические периоды с деталями)

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Разработка системы афиш спортивных событий (аналог Яндекс.Афиши) на OpenCart
Разработка системы афиш спортивных событий (аналог Яндекс.Афиши) на OpenCart
84
Маркетинг и Продвижение Разработка комплексной системы сбора пользовательского контента (UGC) на спортивном портале — более 20 форм обратной связи для наполнения сайта силами посетителей
Разработка комплексной системы сбора пользовательского контента (UGC) на спортивном портале — более 20 форм обратной связи для наполнения сайта силами посетителей
68
Веб-разработка и IT Миграция базы данных более 100 ГБ из MySQL в PostgreSQL с настройкой пространственных индексов для геоданных
Миграция базы данных более 100 ГБ из MySQL в PostgreSQL с настройкой пространственных индексов для геоданных
98
Веб-разработка и IT Разработка REST API сервиса для работы с почтовыми индексами различных стран мира на Symfony
Разработка REST API сервиса для работы с почтовыми индексами различных стран мира на Symfony
122