pivoting from #ZenStack towards just using #NestJS/#prisma “manual” solutions to build a #REST #API.

would still like to have some way to quickly serialize our prisma models into a format like JSON:API (or HAL). but when I look at https://jsonapi.org/implementations/#server-libraries-node-js (and with some additional searching):
there are numerous full frameworks and a few serializers but most of them have not been touched in years. is the Javascript world still stuck in #graphQL land? or am I just not looking in the right places?

JSON:API — Implementations

Tried building a multi-tenant, multi-role app with Supabase Auth...
Turns out it’s like juggling flaming chainsaws with one hand tied. 🔥🤹‍♂️
RLS + role invites + auth switching = chaos.

Looking for alternatives

#devlife #SaaS #webdev #supabase #auth #Angular #NestJS

I was leaning to adopting #ZenStack to build out our #REST #API on top of #NestJS and #Prisma

https://zenstack.dev/docs/the-complete-guide/part3

But now I am having 2nd thoughts, since in v3 ZenStack is dropping Prisma in favor of a (for now at least) API compatible alternative. We have standardized on Prisma so this would put is on a path to have to debate this topic (again).

https://news.ycombinator.com/item?id=44328662

Any thoughts on this?

Part III: Automatic CRUD API | ZenStack

In Part I, we learned how ZenStack extended Prisma ORM on the schema and runtime levels. By making these extensions, ZenStack unleashed many new potentials of the ORM and turned it into a data access layer that enforces access control and additional data integrity.

Разработка LLM моделей для обновления кода приложений на более высокие версии фреймворков или языков программирования

В этой статье я планирую исследовать, как можно использовать большие языковые модели (LLM) для миграции проектов между различными фреймворками. Применение LLM в задачах на уровне репозитория — это развивающаяся и всё более популярная область. Миграция кода со старых, устаревших фреймворков на новые является одной из ключевых задач в крупных корпоративных проектах.

https://habr.com/ru/articles/920424/

#llm #rl #expressjs #nestjs #python #gpt #rag #llama #finetuning

Разработка LLM моделей для обновления кода приложений на более высокие версии фреймворков или языков программирования

В этой статье я планирую исследовать, как можно использовать большие языковые модели (LLM) для миграции проектов между различными фреймворками. Применение LLM в задачах на уровне репозитория — это...

Хабр

looking for an #OSS #APIgateway

* API keys (API users) + Oauth (website) for auth
* rate limiting + protection against content crawling
* queuing requests to prevent overloading our self-hosted AI models
* ability to track usage so that we can charge expensive API calls to users/orgs
* basic monitoring

API will most likely be written in #NestJS, another likely using #FastAPI (or something else in #Python). I like #GitOps. Doesn’t need to handle insane traffic just make the above things easier.

NestJSでzodを使う!基本的な使い方を整理してみた。 - Qiita

はじめに TypeScriptでのフルスタック開発ではzodを使うことがデファクトっぽい。(?) 初めてzodを使ったので、備忘録として基本的な使い方をまとめてみました。 目次 スキーマと型の一元管理 DTOの自動生成 バリデーションの実装 PrismaなどのORMと...

Qiita

Day 7
✅ 24 test suites, 153 tests passing.

Solid coverage across service and controller layers in my modular monorepo. Strict typing (TypeScript), full DTO validation, and realistic mocks across complex relations (TypeORM).

Next: fine-tuning error handling & exploring e2e strategies.

https://write.as/bmariusz/24-test-suites-153-tests-passing-scaling-confidence-with-every-assertion

#TypeScript #NestJS #Nextjs #InsuranceTech #Microservices #monorepo #rbac #codingdays #swagger #jwt #jwt_auth #programming

Day#7: 24 Test Suites, 153 Tests Passing — Scaling Confidence with Every Assertion

After several days of shaping a growing service architecture, I've finally reached a point where 24 test suites and 153 individual tests ...

Mariusz Balewski

Day 6
TL;DR: Groups, memberships, hierarchy — all dynamic now.

Released backend v0.3.0 🎉

✅ Users can belong to multiple groups with typed roles
✅ Groups can form hierarchical or overlapping structures
✅ Roles are normalized via reference types

Built with NestJS + TypeORM. Documented via Swagger.

https://write.as/bmariusz/building-a-flexible-group-structure-with-nestjs-and-typeorm

#TypeScript #NestJS #Nextjs #InsuranceTech #Microservices #monorepo #rbac #codingdays #swagger #jwt #jwt_auth #programming

Building a Flexible Group Structure with NestJS and TypeORM

TL;DR: I introduced a generic group model into the backend to handle dynamic user-to-organization assignments and relationships. Users ca...

Mariusz Balewski

Day 5
TL;DR: Continued work on backend security — role-based access is now fully wired up.

✅ Got fine-grained role-based access control fully working today.

• Roles loaded from PostgreSQL
• Injected into JWT during login
• Validated via custom `@Roles()` + `RolesGuard`
• Authenticated via `@UseGuards(JwtAuthGuard)` globally
• Introduced `@Public()` decorator to bypass guards for public endpoints
• Swagger supports Bearer token for testing

Took a while to get the role propagation into the token right — the key was enriching the `validateUser()` result, not just fetching data from DB.

Modular, clean, and no magic. Feels good. 👌

more on: https://write.as/bmariusz/continuation-securing-routes-with-jwt-and-role-based-access-control
#CloudNative #TypeScript #NestJS #Nextjs #InsuranceTech #Microservices #monorepo
#codingdays #swagger #jwt #jwt_auth #programming

Continuation: Securing Routes with JWT and Role-Based Access Control

TL;DR: Continuing development on the backend platform — this time focusing on securing routes with JWT, implementing @Roles decorators, h...

Mariusz Balewski

100K юзеров за 3 дня — что сломалось после релиза

Привет, Хабр! В этой статье — история запуска Telegram Mini App, куда за трое суток пришло 100.000 реальных пользователей. Покажу, как мы масштабировали Node.js приложения на многоядерных серверах, увеличивали RPS в 10 раз, боролись с N+1 проблемой в MongoDB и снижали нагрузку на CPU. А ещё расскажу как мы быстро настроили мониторинг через Grafana, подключили Cloudflare и интегрировали Sentry. Поделюсь практическими инсайтами о том, на что стоит обращать внимание в первую очередь, и как эти инструменты помогли нам оперативно находить узкие места и устранять сбои в реальном времени. Всё, о чём будет в этой статье, основано на том, что действительно сработало. Кроме того, расскажу, какие моменты мы упустили до запуска. Это разбор с цифрами, графиками и практическими выводами. Он может сэкономить вам время, нервы и деньги, если вы готовитесь к запуску Telegram Mini App или просто работаете с Node.js-приложениями, которые могут оказаться под серьёзной нагрузкой. Это вторая часть истории — про то, как мы запустились и что сломалось первым после релиза. Тут будет про то, как мы это чинили и какие решения приняли, чтобы приложение продолжало работать под нагрузкой. Первая часть про подготовку к запуску доступна здесь .

https://habr.com/ru/articles/916502/

#telegram #telegram_mini_app #nodejs #nextjs #nestjs #mongodb #нагрузочное_тестирование #масштабирование #docker #cloudflare

100K юзеров за 3 дня — что сломалось после релиза

Привет, Хабр! В этой статье — история запуска Telegram Mini App, куда за трое суток пришло 100.000 реальных пользователей. Покажу, как мы масштабировали Node.js приложения на многоядерных серверах,...

Хабр