Технологии в трёх корзинах
Стена логотипов ничего не говорит о глубине. Поэтому делим стек на то, за что отвечаем в проде, то, что применяли, и то, что возьмём по запросу.
подобрать стек под задачу
$ namika stack --for web-app
- интерфейс
- React · TypeScript · Next.js
- сервер
- NestJS или Python · FastAPI — по задаче
- данные
- PostgreSQL · Redis
- качество
- Playwright · Vitest · сквозная типизация
- эксплуатация
- Docker · GitHub Actions · Sentry
Так сделана платформа Mark2. Mark2 →
$ namika stack --for site
- интерфейс
- Astro или Next.js · TypeScript
- скорость и SEO
- статическая сборка, разметка, Core Web Vitals
- эксплуатация
- Docker · Nginx · GitHub Actions
- качество
- Playwright · ESLint
Ориентир — от 1 млн ₽. Обсудить сайт
$ namika stack --for mobile
- приложение
- React Native · Expo · TypeScript
- устройство
- сканирование QR и штрихкодов · нативные модули
- сервер
- NestJS или Python · FastAPI · PostgreSQL
- эксплуатация
- Sentry · сборки в CI
В проде: UTM Scan MK в цехе, мобильное приложение Mark2. Кейс UTM Scan MK →
$ namika stack --for 1c
- обмен
- OData и HTTP-сервисы 1С
- конфигурации
- 1С: УНФ, УТ, ERP
- надёжность
- очередь · журнал обмена · повторы без дублей
- сервер
- NestJS · PostgreSQL
В проде: операции цеха пишутся в 1С:УНФ. Кейс UTM Scan MK →
$ namika stack --for rag
- модели
- OpenAI и Anthropic API · локальные: Ollama, vLLM
- поиск
- RAG: pgvector, Qdrant · эмбеддинги
- качество
- оценка качества ответов на своих данных
- сервер
- Python · FastAPI
AI-пилот в проде — от 700 тыс. ₽. Обсудить AI-проект
$ namika stack --for high-load
- сервер
- Node.js · NestJS
- данные
- PostgreSQL · Redis · ClickHouse
- очереди
- Kafka · RabbitMQ
- эксплуатация
- Kubernetes · Prometheus · Grafana
- до запуска
- нагрузочный профиль в k6
Монолит, пока нагрузка не доказала обратное. Обсудить нагрузку
слойядроопытпо запросу
Языки
—
Frontend
—
Мобильные iOS и Android
—
Backend
—
Данные
Очереди и интеграции
AI в проде у заказчиков
Инфраструктура
Качество
Три контура размещения. Ваши или наши серверы, облака в России, зарубежные облака. Данные остаются там, где этого требует ваш регулятор; инфраструктура описана кодом и переезжает вместе с системой.
Как мы выбираем стек
- PostgreSQL по умолчанию. Другая база — когда есть измеренная причина, а не предпочтение.
- Монолит, пока не доказана нужда в сервисах. Границы модулей — заранее, разрез — по факту нагрузки.
- Сквозная типизация. От схемы базы до формы в браузере один контракт, который проверяет сборка.
- Наблюдаемость с первого дня. Метрики, логи и трассировка — до первого пользователя, а не после первого инцидента.
- Спорное решение — в ADR. Почему так, а не иначе — читается через год и новым человеком.