Как-то на днях в одном чатике сидели и обсуждали, скажем так, специально усложнённый код.
Даже родилась идея отдельного челленджа — написать приложение максимально сложным способом. В этой связи вспомнился и калькулятор на if, и даже оказывается 3d-игра какая-то есть.
Но, откровенно говоря, написать огромное количество строк — это самый простой путь. И на самом деле он очень скучный.
У меня есть более классный подход. Предлагаю свой проект Очень Сложного Калькулятора. Для реализации проекта нам нужно:
- Клиент: React + SSR, опционально — $mol
- API на Laravel / Symphony
- Apache Kafka (потом расскажу зачем)
- Keycloack
- Kubernetes / Gitlab
Как эта штука будет работать:
- пользователь авторизуется в клиенте через oAuth-провайдера, его учётная запись сохраняется в Keycloack
- после входа в приложение пользователю доступно единственное поле ввода Предлагаю свой проект Очень Сложного Калькулятора там он просто вводит выражение, которое нужно высчитать; мы же всё таки за качественный UX и не перегруженный UI
- после того, как пользователь написал выражение, мы его переносим в очередь на Apache Kafka, после чего направляем в какую-нибудь нейросетку, чтобы она посчитала выражение
- в конце возвращаем пользователю результат
Поскольку это уже микросервис, то нам обязательно нужен Kubernetes, а для доставки обновлённого приложения мы будем использовать Gitlab CI/CD. Хотелось бы куда-нибудь ещё S3-хранилище прикрутить… Может, для хранения клиента.
Остался главный вопрос — зачем. Но джентльмены таких вопросов не задают.
