Search
Write a publication
Pull to refresh
2
0
Ильшат Хамитов @kaufmanendy

программирую…

Send message

Как я развернул фулстек-приложение на «NestJS» с «Angular» в «Supabase» и «Vercel»

Reading time6 min
Views2.4K

Я разработал небольшое фулстек-приложение в качестве примера REST + WebSockets бойлерплейта на NestJS и Angular. В приложении используется PostgreSQL для хранения данных, Redis для кэширования и Minio для работы с файлами. Изначально целевой средой для развертывания был Kubernetes, но для ускорения разработки и тестирования MVP я решил использовать бесплатные облачные сервисы: Supabase для инфраструктуры и Vercel для деплоя бэкенда и фронтенда.

Читать далее

Lite-версия мигратора Flyway для PostgreSQL на TypeScript

Level of difficultyMedium
Reading time4 min
Views903

Так как я активно использую возможности Flyway, такие как repeatable migrations и callbacks, и не хочу от них отказываться, а аналогов этих функций в других системах миграции нет, я решил написать собственный лёгкий клон Flyway на Node.js для PostgreSQL.

Читать далее

Конвертация даты по временной зоне пользователя в «NestJS», а также ввод и отображение даты в «Angular»

Reading time14 min
Views967

В этой статье я расскажу о добавлении нового поля workUntilDate с типом timestamp(6) в таблицу Webhook базы данных Webhook.

На стороне фронтенда (в Angular-приложении) для этого поля будет реализован удобный календарь с возможностью выбора времени.

Пользователи смогут задавать дату и время в своей временной зоне, тогда как бэкенд (NestJS-приложение) будет сохранять введённые данные в базе данных в формате UTC+0.

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

Читать далее

Интеграция и сохранение выбранного языка пользователя в базу данных в фулстек-приложении на «Angular» и «NestJS»

Reading time12 min
Views467

Этот пост не претендует на масштабность, но поскольку я последовательно документирую все этапы разработки бойлерплейта в формате статей, решил описать и эту задачу.

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

Читать далее

Поддержка временных зон в фулстек-приложении на основе NestJS и Angular: работа с REST и WebSockets

Reading time26 min
Views1.4K

В этой статье я хотел бы поделиться своим опытом по внедрению поддержки временных зон в фулстек-приложение, построенное на NestJS и Angular. Мы узнаем, как сохранить настройки таймзоны пользователя в базе данных и правильно использовать их при взаимодействии с сервером через REST и веб-сокеты.

Читать далее

Добавление поддержки нескольких языков в NestJS и Angular приложениях

Reading time15 min
Views1.4K

В этой статье я добавлю поддержку нескольких языков в NestJS и Angular приложениях, для сообщений в ошибках, уведомлениях и данных полученных из базы данных.

Читать далее

Валидация REST-запросов в NestJS-приложении и отображение ошибок в формах Angular-приложения

Reading time11 min
Views751

В этом посте я добавлю в NestJS-приложении валидацию REST-запросов и их отображение в формах Angular-приложения.

Читать далее

Получение серверного времени через WebSockets и отображение его в Angular-приложении

Reading time7 min
Views789

В этом посте я опишу как создать веб-сокетный стрим в бэкенде на NestJS и подписаться на него из фронтенд приложения на Angular.

Читать далее

Кэширование информации в Redis на NestJS

Reading time14 min
Views3.1K

На каждом фронтенд запросе к бэкенду запрашивается информация по профилю пользователя из базы данных, это создает дополнительную нагрузку на базу данных и увеличивает время ответа бэкенда, для ускорения подобных запросов можно кэшировать ответ базы данных.
В этом посте я подключу Redis к проекту и настрою кэширование данных через @nestjs-mod/cache-manager.
Проект можно запускать в Docker Compose и Kubernetes.

Читать далее

Интеграция внешнего файлового сервера https://min.io в фулстек приложение на NestJS и Angular

Reading time26 min
Views1.1K

В этой статье я подключу в проект внешний файловый сервер https://min.io и напишу дополнительные бэкенд и фронтенд модули для интеграции с ним.

Читать далее

Интеграция внешнего сервера авторизации https://authorizer.dev в фулстек приложение на NestJS и Angular

Reading time33 min
Views1.2K

В этой статье я подключу в проект внешний сервер авторизации https://authorizer.dev и напишу дополнительные бэкенд и фронтенд модули для интеграции с ним.

Код будет собран для запуска через Docker Compose и Kubernetes.

Читать далее

Создание пользовательского интерфейса для модуля Webhook с помощью Angular

Reading time26 min
Views1K

Cоздание таблички отображающей данные и формы для ее заполнения, интерфейсы строятся на компонентах от https://ng.ant.design, формы создаются и управляются с помощью https://formly.dev, для стилей используется https://tailwindcss.com, стейт машины нет.

Читать далее

Создание конфигурируемого Webhook-модуля для NestJS-приложении

Reading time93 min
Views1.9K

В рамках этой статьи я опишу создание двух NestJS-модулей с различным способом конфигурирования: утилитарный модуль и бизнес-модуль со своей базой данных.

Читать далее

Добавляем lint-staged в NestJS и Angular приложения, включаем семантическое версионирование фронтенда

Reading time14 min
Views1.1K

Так как версионирование через плагин nx-semantic-release происходит путем анализа изменений по связанным Typescript-импортам, то нам нужно минимизировать эти изменения, для этого в проект подключаем lint-staged и добавляем строгости в Typescript-код.

Читать далее

Семантическое версионирование NestJS и Angular приложений в NX-монорепозитории

Reading time4 min
Views747

Подключение и настройка nx-semantic-release плагина для NX-монорепозитория для автоматического создания релиза с последующим деплоем приложений.

Читать далее

Доступ к сайту на NestJS и Angular по доменному имени c SSL — сертификатом в Kubernetes через Ingress

Reading time9 min
Views1K

В Kubernetes очень легко настраивается работа с SSL, это наверное одна из главных причин почему я и начал им пользоваться, в этой статье я опишу простой сценарий его подключения.

Читать далее

Установка Kubernetes через MicroK8s и настройка деплоя NestJS и Angular приложений

Reading time15 min
Views2.4K

Когда в команде нет DevOps - инженеров, но очень хочется задеплоить приложение в Kubernetes, можно легко это сделать с помощью https://microk8s.io, в данном посте я опишу как это сделать и открыть доступ к приложению на определенном порте.

Читать далее

Добавил возможность замены переменных окружения при запуске команды «Copy-Paste» в утилите «Rucken»

Reading time2 min
Views250

Я часто пользуюсь своей утилитой "rucken" по копированию файлов и директорий с кодом, но для генерации конфигураций деплоя по шаблонам я использовал баш скрипты, в которых помимо различных условий происходит копирование через команду "cp" и замена переменных через команду "sed".
На днях подумал и решил что часть с копированием и заменой можно убрать в утилиту "rucken" и тем самым оставить в баш скриптах только логики с условиями.

Читать далее

Ускорение деплоя NestJS и Angular с помощью общественных Github-раннеров и создания промежуточных Docker-образов

Reading time42 min
Views1.1K

В этом посте я настрою сборку Docker-образов: Билдер NestJS и Angular приложений; Мигратор баз данных с помощью Flyway; Тест-раннер для запуска фронтенд и бэкенд E2E-тестов; Nginx c встроенной статикой Angular приложения; NestJS приложение.

Читать далее

Добавляем CI/CD конфиг для деплоя NestJS и Angular приложений на выделенный сервер с помощью GitHub Actions

Reading time9 min
Views1.4K

Прописываем секретные переменные окружения в гитхаб.
Устанавливаем "GitHub Actions"-раннер на выделенный сервер.
Настраиваем workflow для "GitHub Actions".

Читать далее
1

Information

Rating
Does not participate
Location
Уфа, Башкортостан(Башкирия), Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Frontend Developer
Lead
NestJS
Angular
Development management
Automation of processes