Noam Honig

Meet Your New BFF: Backend to Frontend without the Duct Tape

Stop duplicating logic between frontend and backend. See how a single entity file can automatically generate a full-stack, type-safe API with validation and authorization.

Meet Your New BFF: Backend to Frontend without the Duct Tape
#1about 4 minutes

The problem of repetitive code in full-stack development

Full-stack development often involves duplicating models, validation, and API logic, which can be streamlined by using a single source of truth.

#2about 5 minutes

Creating a full-stack API from a single entity definition

Use Remult decorators on a shared TypeScript class to automatically generate a full CRUD API with an Express server.

#3about 4 minutes

Connecting Angular to the API for CRUD operations

Use the Remult repository on the frontend to perform type-safe CRUD operations with built-in server-side paging, sorting, and filtering.

#4about 2 minutes

Enabling real-time data synchronization with live queries

Convert a standard data fetch into a real-time subscription by replacing `find` with `liveQuery` to automatically push updates to all connected clients.

#5about 2 minutes

Refactoring live queries with RxJS and the async pipe

Simplify component logic by converting the live query into an RxJS observable and using Angular's async pipe to manage subscriptions automatically.

#6about 2 minutes

Implementing write-once validation for frontend and backend

Define validation logic directly on the entity to enforce rules consistently on the client-side for immediate feedback and the server-side for security.

#7about 3 minutes

Optimizing operations with backend methods

Move inefficient client-side loops into a dedicated backend method to reduce network requests and execute business logic securely on the server.

#8about 1 minute

Switching from a JSON file to a Postgres database

Transition from the default JSON file storage to a production-ready Postgres database by simply configuring a data provider and connection string.

#9about 3 minutes

Securing the API with authentication and authorization

Secure API endpoints by adding rules like `allowAuthenticated` and role-based permissions directly to the entity definition.

#10about 2 minutes

Dynamically showing or hiding UI based on user permissions

Use the entity's metadata on the frontend to conditionally render UI elements, ensuring users only see actions they are permitted to perform.

#11about 5 minutes

Preparing and deploying the application to Railway

Configure the application for a production environment using environment variables and deploy it as a single server to a cloud provider like Railway.

#12about 3 minutes

Generating OpenAPI and GraphQL APIs from entities

Automatically generate both an OpenAPI (Swagger) specification and a GraphQL API from the existing Remult entities with minimal configuration.

#13about 16 minutes

Answering questions on Remult's capabilities and use cases

The speaker addresses audience questions about production readiness, scaling, framework compatibility, and best practices for reducing boilerplate code.

Related jobs
Jobs that call for the skills explored in this talk.

Angular Developer

Picnic Technologies B.V.
Amsterdam, Netherlands

Intermediate
Senior

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.