Создать уникальный 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 (космологические периоды с деталями)