# Back End

Published articles for Back End.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Website replatforming: How to migrate your site smoothly

DevFeed: [Website replatforming: How to migrate your site smoothly](<https://devfeed.tech/articles/website-replatforming-how-to-migrate-your-site-smoothly-9258.md>)

Original publisher: [Read original article](<https://webflowmarketingmain.com/blog/website-replatforming>)

Author: Webflow Team

Published: 2026-06-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Webflow Blog](<https://devfeed.tech/sources/webflow-blog.md>)

Topics: [migration](<https://devfeed.tech/topics/migration.md>), [Website](<https://devfeed.tech/topics/website.md>), [Content Management System](<https://devfeed.tech/topics/cms.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [hosting](<https://devfeed.tech/topics/hosting.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Front end](<https://devfeed.tech/topics/frontend.md>)

Tags: [back-end](<https://devfeed.tech/tags/back-end.md>), [cms](<https://devfeed.tech/tags/cms.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [guide](<https://devfeed.tech/tags/guide.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [migration](<https://devfeed.tech/tags/migration.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [strategy](<https://devfeed.tech/tags/strategy.md>)

### AI overview

A guide to website replatforming: migrating from an older CMS or custom setup to a new platform while preserving much of the existing content and design. It explains common reasons for replatforming, including outdated technology, poor performance, limited integrations, scalability limits, and rigid workflows.

### Source excerpt

Explore how website replatforming preserves the best of your existing site, while making it more scalable and manageable for long-term performance.

## Screaming Architecture & Colocation: Let Your Project Structure Tell the Story

DevFeed: [Screaming Architecture & Colocation: Let Your Project Structure Tell the Story](<https://devfeed.tech/articles/screaming-architecture-colocation-let-your-project-structure-tell-the-story-18118.md>)

Original publisher: [Read original article](<https://thetshaped.dev/p/screaming-architecture-and-colocation-nodejs-typescript-react>)

Author: The T-Shaped Dev

Published: 2026-03-14T07:19:34Z

Content type: tutorial

Language: en

Sources: [The T-Shaped Dev](<https://devfeed.tech/sources/the-t-shaped-dev.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Express](<https://devfeed.tech/topics/express.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [React](<https://devfeed.tech/topics/react.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [code](<https://devfeed.tech/tags/code.md>), [express](<https://devfeed.tech/tags/express.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [project](<https://devfeed.tech/tags/project.md>), [structure](<https://devfeed.tech/tags/structure.md>), [technical](<https://devfeed.tech/tags/technical.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

This tutorial explains how to organize Node.js, TypeScript, and React projects around business capabilities rather than technical layers. It presents Screaming Architecture and colocation as ways to improve code discoverability, team ownership, change isolation, feature removal, and maintainability.

### Source excerpt

Learn why you should organize your code by what your app actually does, not by technical roles. (5 min)

## How agentic AI could pressure databases and challenge eventual consistency

DevFeed: [How agentic AI could pressure databases and challenge eventual consistency](<https://devfeed.tech/articles/agentic-ai-is-coming-for-your-database-23735.md>)

Original publisher: [Read original article](<https://cockroachlabs.com/blog/agentic-ai-coming-for-your-database>)

Author: Becca Weng

Published: 2026-02-13T00:00:00Z

Content type: opinion

Language: en

Sources: [Cockroach Labs](<https://devfeed.tech/sources/cockroach-labs.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [data](<https://devfeed.tech/topics/data.md>), [consistency](<https://devfeed.tech/topics/consistency.md>), [backends](<https://devfeed.tech/topics/backends.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>)

Tags: [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [data](<https://devfeed.tech/tags/data.md>), [databases](<https://devfeed.tech/tags/databases.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

The article summarizes a Cockroach Labs webinar about how agentic AI may increase pressure on databases and back-end systems. It argues that autonomous agents can generate unpredictable, high-volume traffic and suggests that operational databases may need strong serializable consistency, correct reads, and predictable behavior under extreme concurrency.

### Source excerpt

AI agents are no longer a thought experiment. They're already writing code, calling APIs, retrying failed requests, and coordinating work at machine speed. And they're about to put unprecedented pressure on the systems we use to store and move data.

## How to Integrate OAuth2 Into a Django/DRF Back End Without Losing Control

DevFeed: [How to Integrate OAuth2 Into a Django/DRF Back End Without Losing Control](<https://devfeed.tech/articles/how-to-integrate-oauth2-into-a-django-drf-back-end-without-losing-control-17756.md>)

Original publisher: [Read original article](<https://talent500.com/blog/django-drf-oauth2-integration-guide/>)

Author: Prachi Kothiyal

Published: 2026-02-06T10:58:21Z

Content type: tutorial

Language: en

Sources: [Backend Archives | Talent500 blog](<https://devfeed.tech/sources/backend-archives-talent500-blog.md>)

Topics: [Django](<https://devfeed.tech/topics/django.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [API](<https://devfeed.tech/topics/api.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [a-minimal-view-for-token-exchange](<https://devfeed.tech/tags/a-minimal-view-for-token-exchange.md>), [api](<https://devfeed.tech/tags/api.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [backend](<https://devfeed.tech/tags/backend.md>), [configuring-back-end-authentication](<https://devfeed.tech/tags/configuring-back-end-authentication.md>), [django](<https://devfeed.tech/tags/django.md>), [newsletters](<https://devfeed.tech/tags/newsletters.md>), [oauth2](<https://devfeed.tech/tags/oauth2.md>), [rest](<https://devfeed.tech/tags/rest.md>), [server-side-vs-client-side-oauth2-flows](<https://devfeed.tech/tags/server-side-vs-client-side-oauth2-flows.md>), [testing-and-reliability-considerations](<https://devfeed.tech/tags/testing-and-reliability-considerations.md>), [what-the-back-end-needs-to-do](<https://devfeed.tech/tags/what-the-back-end-needs-to-do.md>), [why-rely-on-a-social-auth-library](<https://devfeed.tech/tags/why-rely-on-a-social-auth-library.md>)

### AI overview

A practical guide to integrating OAuth2 social login into a Django or Django REST Framework back end. It recommends letting the front end handle the provider flow while the back end validates third-party tokens, maps social identities to local accounts, and issues API credentials.

### Source excerpt

When a Django or Django REST Framework (DRF) back end is already handling authentication, adding "Log in with Google" or [...] The post How to Integrate OAuth2 Into a Django/DRF Back End Without Losing Control appeared first on Talent500 blog.

## Mob Programming: Smells Like Team Spirit

DevFeed: [Mob Programming: Smells Like Team Spirit](<https://devfeed.tech/articles/mob-programming-smells-like-team-spirit-28055.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2025-12-03-mob-programming-smells-like-team-spirit/>)

Author: Dmytro Kurets

Published: 2025-12-04T00:00:00Z

Content type: article

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [Code](<https://devfeed.tech/topics/code.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [Data analysis](<https://devfeed.tech/topics/data-analysis.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>)

Tags: [back-end](<https://devfeed.tech/tags/back-end.md>), [code](<https://devfeed.tech/tags/code.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [data-analysis](<https://devfeed.tech/tags/data-analysis.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [engineering-culture](<https://devfeed.tech/tags/engineering-culture.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [pairing](<https://devfeed.tech/tags/pairing.md>), [programming](<https://devfeed.tech/tags/programming.md>), [review](<https://devfeed.tech/tags/review.md>), [team](<https://devfeed.tech/tags/team.md>)

### AI overview

The article explains mob programming as structured, shared-focus collaboration with one driver, rotating typing roles, and navigators guiding the work. It describes a trivago team experimenting with collaborative review and coding changes to address pull requests piling up and slowing delivery.

### Source excerpt

Mob programming often sparks hot takes. "It's counter-productive." "One person could do it faster." "Why waste five people on one keyboard?" If that's what it looks like in your head--one senior ...

## Simplifying back-end complexity with Supabase Data APIs

DevFeed: [Simplifying back-end complexity with Supabase Data APIs](<https://devfeed.tech/articles/simplifying-back-end-complexity-with-supabase-data-apis-552.md>)

Original publisher: [Read original article](<https://supabase.com/blog/simplify-backend-with-data-api>)

Author: Prashant Sridharan; Steve Chavez; Laurence Isla

Published: 2025-05-17T07:00:00Z

Content type: article

Language: en

Sources: [Supabase Blog](<https://devfeed.tech/sources/supabase-blog.md>)

Topics: [Supabase](<https://devfeed.tech/topics/supabase.md>), [API](<https://devfeed.tech/topics/api.md>), [backends](<https://devfeed.tech/topics/backends.md>), [CRUD](<https://devfeed.tech/topics/crud.md>), [Database](<https://devfeed.tech/topics/database.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>)

Tags: [accelerate](<https://devfeed.tech/tags/accelerate.md>), [apis](<https://devfeed.tech/tags/apis.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [cost](<https://devfeed.tech/tags/cost.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [observability](<https://devfeed.tech/tags/observability.md>), [product](<https://devfeed.tech/tags/product.md>), [reduce](<https://devfeed.tech/tags/reduce.md>), [rest](<https://devfeed.tech/tags/rest.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

Supabase Data APIs automatically expose Postgres tables, views, stored procedures, and database functions through REST and GraphQL APIs. The article explains how this reduces custom CRUD endpoint development and infrastructure maintenance while retaining querying, relationships, RPC, connection pooling, observability, and custom endpoint options.

### Source excerpt

Replace custom CRUD endpoints, reduce infrastructure complexity, and accelerate product delivery.

## Easy way to upload, transform and deliver files and images (Sponsored)

DevFeed: [Easy way to upload, transform and deliver files and images (Sponsored)](<https://devfeed.tech/articles/easy-way-to-upload-transform-and-deliver-files-and-images-sponsored-37480.md>)

Original publisher: [Read original article](<https://davidwalsh.name/easy-way-to-upload-transform-and-deliver-files-and-images>)

Author: David Walsh

Published: 2025-03-24T22:58:30Z

Content type: article

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [file](<https://devfeed.tech/topics/file.md>), [Image](<https://devfeed.tech/topics/image.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [ascii](<https://devfeed.tech/tags/ascii.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [conversion](<https://devfeed.tech/tags/conversion.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [files](<https://devfeed.tech/tags/files.md>), [gif](<https://devfeed.tech/tags/gif.md>), [images](<https://devfeed.tech/tags/images.md>), [python](<https://devfeed.tech/tags/python.md>), [qr-code](<https://devfeed.tech/tags/qr-code.md>), [sponsored](<https://devfeed.tech/tags/sponsored.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

### AI overview

This sponsored developer article presents Filestack as a service for uploading, transforming, and delivering files and images. It describes a file-uploading interface, integrations with services such as Google Drive, Dropbox, GitHub, Facebook, and Instagram, a Python library for back-end uploads, documentation, and transformations for images, videos, and documents.

### Source excerpt

Managing media is a really difficult task if you try to do all of it yourself, especially if the media comes from other sources. The file can be submitted in any state and size, but what if you need something really specific? You can code it all yourself or you can use an awesome service [...] The post Easy way to upload, transform and deliver files and images (Sponsored) appeared first on David Walsh Blog.

## Introducing The AWS AI Stack

DevFeed: [Introducing The AWS AI Stack](<https://devfeed.tech/articles/introducing-the-aws-ai-stack-14082.md>)

Original publisher: [Read original article](<https://www.serverless.com/blog/aws-ai-stack>)

Author: Serverless Team

Published: 2024-09-11T00:00:00Z

Content type: release

Language: en

Sources: [Serverless Blog](<https://devfeed.tech/sources/serverless-blog.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [Amazon Bedrock](<https://devfeed.tech/topics/amazon-bedrock.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [AWS Lambda](<https://devfeed.tech/topics/aws-lambda.md>), [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [React](<https://devfeed.tech/topics/react.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [llama3](<https://devfeed.tech/topics/llama3.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [bedrock](<https://devfeed.tech/tags/bedrock.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [claude](<https://devfeed.tech/tags/claude.md>), [cloud-computing](<https://devfeed.tech/tags/cloud-computing.md>), [faas](<https://devfeed.tech/tags/faas.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [function-as-a-service](<https://devfeed.tech/tags/function-as-a-service.md>), [infrastructure-as-code](<https://devfeed.tech/tags/infrastructure-as-code.md>), [llama3](<https://devfeed.tech/tags/llama3.md>), [llms](<https://devfeed.tech/tags/llms.md>), [news](<https://devfeed.tech/tags/news.md>), [react](<https://devfeed.tech/tags/react.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [serverless-architecture](<https://devfeed.tech/tags/serverless-architecture.md>), [serverless-framework](<https://devfeed.tech/tags/serverless-framework.md>)

### AI overview

The AWS AI Stack is introduced as a full-stack, serverless boilerplate for building AI applications on AWS. It uses Bedrock LLMs including Claude 3.5 Sonnet and Llama3.1, with a React front end, AWS Lambda back end, and built-in CI/CD.

### Source excerpt

Full-stack, serverless, boilerplate for AI applications on AWS, featuring Bedrock LLMs like Claude 3.5 Sonnet and Llama3.1, a React front-end, AWS Lambda back-end, built-in CI/CD and more.

## How to Use User Location in Applications and Assess Its Limitations

DevFeed: [How to Use User Location in Applications and Assess Its Limitations](<https://devfeed.tech/articles/the-cake-user-location-is-a-lie-17715.md>)

Original publisher: [Read original article](<https://austingil.com/user-location-is-a-lie/>)

Author: Austin

Published: 2024-07-25T14:10:28Z

Content type: article

Language: en

Sources: [Back End - Austin Gil](<https://devfeed.tech/sources/back-end-austin-gil.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [business-logic](<https://devfeed.tech/tags/business-logic.md>), [coding](<https://devfeed.tech/tags/coding.md>), [compliance](<https://devfeed.tech/tags/compliance.md>), [development](<https://devfeed.tech/tags/development.md>), [edge-compute](<https://devfeed.tech/tags/edge-compute.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [geolocation](<https://devfeed.tech/tags/geolocation.md>), [html](<https://devfeed.tech/tags/html.md>), [ip](<https://devfeed.tech/tags/ip.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [js](<https://devfeed.tech/tags/js.md>), [location](<https://devfeed.tech/tags/location.md>), [location-based](<https://devfeed.tech/tags/location-based.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [programming](<https://devfeed.tech/tags/programming.md>), [software](<https://devfeed.tech/tags/software.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

This article examines location-based programming, including use cases such as regional language, currency, store locators, weather data, and geofencing. It distinguishes user-experience, application-logic, and policy or compliance concerns, then discusses four ways to obtain location: user reporting, device heuristics, IP address, and edge compute.

### Source excerpt

A post discussing the nuances around location-based programming. Various ways to access user location, how they can fail, and what to do about it.

## Build Well-Documented and Authenticated APIs in Node.js with Fastify

DevFeed: [Build Well-Documented and Authenticated APIs in Node.js with Fastify](<https://devfeed.tech/articles/build-well-documented-and-authenticated-apis-in-node-js-with-fastify-26379.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/build-openapi-apis-nodejs-fastify/>)

Author: Julián Duque

Published: 2024-04-29T23:25:00Z

Content type: tutorial

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Fastify](<https://devfeed.tech/topics/fastify.md>), [API](<https://devfeed.tech/topics/api.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [JSON Web Tokens](<https://devfeed.tech/topics/jwt.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [Heroku](<https://devfeed.tech/topics/heroku.md>), [Postman](<https://devfeed.tech/topics/postman.md>), [Swagger](<https://devfeed.tech/topics/swagger.md>), [Back end](<https://devfeed.tech/topics/backend.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [build](<https://devfeed.tech/tags/build.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [express](<https://devfeed.tech/tags/express.md>), [framework](<https://devfeed.tech/tags/framework.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [postman](<https://devfeed.tech/tags/postman.md>), [product-features](<https://devfeed.tech/tags/product-features.md>), [swagger](<https://devfeed.tech/tags/swagger.md>)

### AI overview

A hands-on walkthrough for building a documented and authenticated API with Node.js and Fastify. It covers JWT authentication, Fastify Swagger plugins for generating an OpenAPI specification, Postman as an API client, and deployment to Heroku.

### Source excerpt

If you're an API developer working with Node.js, then you're probably familiar with Express. But have you tried out the Fastify framework to build with power, speed, and convenience? In this walkthrough, we build a full-featured, easy-to-consume API with Fastify. And we deploy it to the cloud with ease. We show you how to: Get [...] The post Build Well-Documented and Authenticated APIs in Node.js with Fastify appeared first on Heroku.

## Working with ChatGPT Functions on Heroku

DevFeed: [Working with ChatGPT Functions on Heroku](<https://devfeed.tech/articles/working-with-chatgpt-functions-on-heroku-26509.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/working-with-chatgpt-functions-on-heroku/>)

Author: Julián Duque

Published: 2024-01-30T15:00:00Z

Content type: tutorial

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [API](<https://devfeed.tech/topics/api.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Express](<https://devfeed.tech/topics/express.md>), [React](<https://devfeed.tech/topics/react.md>), [monorepo](<https://devfeed.tech/topics/monorepo.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-machine-learning](<https://devfeed.tech/tags/ai-machine-learning.md>), [apis](<https://devfeed.tech/tags/apis.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [chatgpt](<https://devfeed.tech/tags/chatgpt.md>), [deploy](<https://devfeed.tech/tags/deploy.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [express](<https://devfeed.tech/tags/express.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [github](<https://devfeed.tech/tags/github.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [monorepo](<https://devfeed.tech/tags/monorepo.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [openai](<https://devfeed.tech/tags/openai.md>), [react](<https://devfeed.tech/tags/react.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

A tutorial showing how to build a Node.js Menu Maker application that uses OpenAI's Chat Completions API and function calling, with a React front end and Express back end, and deploys the application on Heroku.

### Source excerpt

How to Build and Deploy a Node.js App That Uses OpenAI's APIs Near the end of 2023, ChatGPT announced that it had 100M weekly users. That's a massive base of users who want to take advantage of the convenience and power of intelligent question answering with natural language. With this level of popularity for ChatGPT, [...] The post Working with ChatGPT Functions on Heroku appeared first on Heroku.

## AI for Web Devs: Faster Responses with HTTP Streaming

DevFeed: [AI for Web Devs: Faster Responses with HTTP Streaming](<https://devfeed.tech/articles/ai-for-web-devs-faster-responses-with-http-streaming-17708.md>)

Original publisher: [Read original article](<https://austingil.com/ai-for-web-devs-streaming/>)

Author: Austin

Published: 2023-10-24T19:51:38Z

Content type: tutorial

Language: en

Sources: [Back End - Austin Gil](<https://devfeed.tech/sources/back-end-austin-gil.md>)

Topics: [Streaming](<https://devfeed.tech/topics/streaming.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [Qwik](<https://devfeed.tech/topics/qwik.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [coding](<https://devfeed.tech/tags/coding.md>), [development](<https://devfeed.tech/tags/development.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [http](<https://devfeed.tech/tags/http.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [js](<https://devfeed.tech/tags/js.md>), [openai](<https://devfeed.tech/tags/openai.md>), [programming](<https://devfeed.tech/tags/programming.md>), [qwik](<https://devfeed.tech/tags/qwik.md>), [software](<https://devfeed.tech/tags/software.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [web](<https://devfeed.tech/tags/web.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

This tutorial explains how to add HTTP streaming to an AI-powered Qwik application. It discusses the limitations of Qwik route actions for standard streaming and uses middleware and a standard Response object to support incremental responses.

### Source excerpt

Adding HTTP streaming to AI applications can improve perceived performance. This post covers the server side and client side requirements.

## Accept E-Commerce Payments Easily with PayPal's Buttons Component

DevFeed: [Accept E-Commerce Payments Easily with PayPal's Buttons Component](<https://devfeed.tech/articles/accept-e-commerce-payments-easily-with-paypal-s-buttons-component-31932.md>)

Original publisher: [Read original article](<https://medium.com/paypal-tech/accept-e-commerce-payments-easily-with-paypals-buttons-component-2b719529e035?source=rss----6423323524ba---4>)

Author: Arit Developer

Published: 2023-10-24T16:07:59Z

Content type: tutorial

Language: en

Sources: [PayPal Technology](<https://devfeed.tech/sources/paypal-technology.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [servers](<https://devfeed.tech/topics/servers.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [HTML](<https://devfeed.tech/topics/html.md>), [npm](<https://devfeed.tech/topics/npm.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [code](<https://devfeed.tech/tags/code.md>), [credentials](<https://devfeed.tech/tags/credentials.md>), [demo](<https://devfeed.tech/tags/demo.md>), [e-commerce](<https://devfeed.tech/tags/e-commerce.md>), [ecommerce](<https://devfeed.tech/tags/ecommerce.md>), [environment](<https://devfeed.tech/tags/environment.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [github](<https://devfeed.tech/tags/github.md>), [html](<https://devfeed.tech/tags/html.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [npm](<https://devfeed.tech/tags/npm.md>), [package-json](<https://devfeed.tech/tags/package-json.md>), [payments](<https://devfeed.tech/tags/payments.md>), [payments-technology](<https://devfeed.tech/tags/payments-technology.md>), [paypal](<https://devfeed.tech/tags/paypal.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

A tutorial for integrating PayPal Standard Checkout and its Payment Buttons component into a simple HTML and NodeJS shopping application. It covers prerequisites, sandbox credentials, backend and frontend setup, checkout flow, and custom integration guidance.

### Source excerpt

Accepting online payments is now a universal must-have, catering to everyone from solo entrepreneurs to massive global corporations. PayPal's Standard Checkout allows for seamless integration of PayPal's Payment Buttons component into your e-commerce app, granting you the power to accept online payments. In this guide, I am going to show how to add Standard Checkout to a simple shopping app, built with HTML and NodeJS. Guide Overview Part 1. Prerequisites Part 2a. Basic Integration -- Code Setup Part 2b. Basic Integration -- Checkout Flow Part 3a. Custom Integration -- Code Setup Part 3b. Custom Integration -- Checkout Flow Part 4. Conclusion Part 5. Additional PayPal Payment Integrations Part 1. Prerequisites To complete this integration, you will need the following information: API Credentials (Client ID and Secret) for a PayPal REST app: paste these from your Developer Dashboard. Since we are working in a development environment in this demo, ensure that the Sandbox Toggle is on. Obtain Test API Credentials The username and password for a Personal Sandbox account: you will need this to complete the checkout process. Navigate to Sandbox Accounts under Testing ToolsObtain Personal Sandbox Account login details You can grab the code for our completed Checkout Integration demo from the PayPal Developer GitHub repository. Part 2a. Basic Integration -- Code Setup Navigate to PayPal's Integrate Checkout documentation. The documentation shows you how to set your development environment up: installing npm, verifying your package.json file, and setting up your .env file. Next, you will set up your back-end server and front-end code. The documentation presents the contents of three files: server.js (for the back-end server), app.js (for the client-side logic) and checkout.html (for the user interface). Copy the Backend CodeCopy the Frontend Code Grab these code snippets and paste them into your IDE (Integrated Development Environment). I strongly recommend that you implement the

## AI for Web Devs: Your First API Request to OpenAI

DevFeed: [AI for Web Devs: Your First API Request to OpenAI](<https://devfeed.tech/articles/ai-for-web-devs-your-first-api-request-to-openai-17706.md>)

Original publisher: [Read original article](<https://austingil.com/ai-for-web-devs-first-http-request/>)

Author: Austin

Published: 2023-09-19T11:53:28Z

Content type: tutorial

Language: en

Sources: [Back End - Austin Gil](<https://devfeed.tech/sources/back-end-austin-gil.md>)

Topics: [OpenAI](<https://devfeed.tech/topics/openai.md>), [Qwik](<https://devfeed.tech/topics/qwik.md>), [API](<https://devfeed.tech/topics/api.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [API keys](<https://devfeed.tech/topics/api-keys.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [api-keys](<https://devfeed.tech/tags/api-keys.md>), [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [coding](<https://devfeed.tech/tags/coding.md>), [development](<https://devfeed.tech/tags/development.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [html](<https://devfeed.tech/tags/html.md>), [http](<https://devfeed.tech/tags/http.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [js](<https://devfeed.tech/tags/js.md>), [json](<https://devfeed.tech/tags/json.md>), [openai](<https://devfeed.tech/tags/openai.md>), [programming](<https://devfeed.tech/tags/programming.md>), [qwik](<https://devfeed.tech/tags/qwik.md>), [software](<https://devfeed.tech/tags/software.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

A tutorial on integrating OpenAI API responses into a Qwik web application. It covers generating and protecting API keys, making a chat endpoint request with fetch, handling the JSON response, and beginning an interactive form.

### Source excerpt

Make API request to OpenAI with fetch and Qwik forms, protect API keys with Qwik actions, and hide secrets with environment variables.

## AI for Web Devs: Project Introduction & Setup

DevFeed: [AI for Web Devs: Project Introduction & Setup](<https://devfeed.tech/articles/ai-for-web-devs-project-introduction-setup-17707.md>)

Original publisher: [Read original article](<https://austingil.com/ai-for-web-devs-set-up/>)

Author: Austin

Published: 2023-09-12T14:31:00Z

Content type: tutorial

Language: en

Sources: [Back End - Austin Gil](<https://devfeed.tech/sources/back-end-austin-gil.md>)

Topics: [Qwik](<https://devfeed.tech/topics/qwik.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [npm](<https://devfeed.tech/topics/npm.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [coding](<https://devfeed.tech/tags/coding.md>), [development](<https://devfeed.tech/tags/development.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [html](<https://devfeed.tech/tags/html.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [js](<https://devfeed.tech/tags/js.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [openai](<https://devfeed.tech/tags/openai.md>), [programming](<https://devfeed.tech/tags/programming.md>), [qwik](<https://devfeed.tech/tags/qwik.md>), [software](<https://devfeed.tech/tags/software.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

This tutorial series introduction explains how to prepare a Qwik web application for integrating OpenAI AI services. It covers the project goals, prerequisites, required Node.js and npm versions, OpenAI API access, and bootstrapping a Qwik app with the CLI.

### Source excerpt

In this blog post, we start bootstrapping a web development project using Qwik and get things ready to incorporate AI tooling from OpenAI.

## From Monolith to Federation

DevFeed: [From Monolith to Federation](<https://devfeed.tech/articles/from-monolith-to-federation-23306.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/from-monolith-to-federation>)

Author: Daljit Summan

Published: 2023-08-09T11:33:08Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [API](<https://devfeed.tech/topics/api.md>), [Back end](<https://devfeed.tech/topics/backend.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [backend](<https://devfeed.tech/tags/backend.md>), [data](<https://devfeed.tech/tags/data.md>), [gateway](<https://devfeed.tech/tags/gateway.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [incremental](<https://devfeed.tech/tags/incremental.md>)

### AI overview

This article discusses using GraphQL Federation and the Strangler fig pattern to incrementally migrate a monolith. It describes placing a facade in front of the monolith, splitting it by domain, decoupling clients through a Federation interface, and routing data through an API Gateway.

### Source excerpt

Introduction Many organizations own a Monolith (GraphQL or Non-GraphQL) and migrating away always seems an impossible task, most organizations fall into a seemingly endless amount of effort with very little progress to show for it. At Apollo we have seen many different patterns of migrating away from a monolith.

## File Upload Security and Malware Protection

DevFeed: [File Upload Security and Malware Protection](<https://devfeed.tech/articles/file-upload-security-and-malware-protection-17709.md>)

Original publisher: [Read original article](<https://austingil.com/file-upload-security-and-malware-protection/>)

Author: Austin

Published: 2023-05-23T14:37:08Z

Content type: tutorial

Language: en

Sources: [Back End - Austin Gil](<https://devfeed.tech/sources/back-end-austin-gil.md>)

Topics: [Security](<https://devfeed.tech/topics/security.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Nuxt.js](<https://devfeed.tech/topics/nuxt.md>)

Tags: [back-end](<https://devfeed.tech/tags/back-end.md>), [coding](<https://devfeed.tech/tags/coding.md>), [development](<https://devfeed.tech/tags/development.md>), [edge-compute](<https://devfeed.tech/tags/edge-compute.md>), [files](<https://devfeed.tech/tags/files.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [malware](<https://devfeed.tech/tags/malware.md>), [malware-protection](<https://devfeed.tech/tags/malware-protection.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [nuxt](<https://devfeed.tech/tags/nuxt.md>), [programming](<https://devfeed.tech/tags/programming.md>), [recommendations](<https://devfeed.tech/tags/recommendations.md>), [security](<https://devfeed.tech/tags/security.md>), [software](<https://devfeed.tech/tags/software.md>), [uploads](<https://devfeed.tech/tags/uploads.md>), [validation](<https://devfeed.tech/tags/validation.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

This tutorial explains how to secure web file uploads using OWASP recommendations. It covers extension validation and malware scanning in an application with a Nuxt.js backend using Node.js request handling.

### Source excerpt

In this article, we implement several of the OWASP recommendations for file upload security. We also dive into malware scanning solutions.

## CDNs: Speed Up Performance by Reducing Latency

DevFeed: [CDNs: Speed Up Performance by Reducing Latency](<https://devfeed.tech/articles/cdns-speed-up-performance-by-reducing-latency-17710.md>)

Original publisher: [Read original article](<https://austingil.com/file-uploads-cdn/>)

Author: Austin

Published: 2023-05-01T14:57:05Z

Content type: tutorial

Language: en

Sources: [Back End - Austin Gil](<https://devfeed.tech/sources/back-end-austin-gil.md>)

Topics: [Latency](<https://devfeed.tech/topics/latency.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [cloud-infrastructure](<https://devfeed.tech/topics/cloud-infrastructure.md>), [cloud-computing](<https://devfeed.tech/topics/cloud-computing.md>)

Tags: [akamai](<https://devfeed.tech/tags/akamai.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [cache](<https://devfeed.tech/tags/cache.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [cloud-computing](<https://devfeed.tech/tags/cloud-computing.md>), [coding](<https://devfeed.tech/tags/coding.md>), [development](<https://devfeed.tech/tags/development.md>), [latency](<https://devfeed.tech/tags/latency.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>), [programming](<https://devfeed.tech/tags/programming.md>), [software](<https://devfeed.tech/tags/software.md>), [speed](<https://devfeed.tech/tags/speed.md>), [uploads](<https://devfeed.tech/tags/uploads.md>), [web](<https://devfeed.tech/tags/web.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

This tutorial explains how content delivery networks reduce latency for files stored in object storage. It describes caching copies near users and reports a reduction in one Japan-based request from 1.1 seconds to 0.2 seconds when served through a CDN.

### Source excerpt

This post covers what CDNs are, how they work, and why you need one. I also show you how to connect Akamai CDN to Object Storage.

## Stream File Uploads to S3 Object Storage and Reduce Costs

DevFeed: [Stream File Uploads to S3 Object Storage and Reduce Costs](<https://devfeed.tech/articles/stream-file-uploads-to-s3-object-storage-and-reduce-costs-17714.md>)

Original publisher: [Read original article](<https://austingil.com/upload-to-s3/>)

Author: Austin

Published: 2023-04-07T14:54:17Z

Content type: tutorial

Language: en

Sources: [Back End - Austin Gil](<https://devfeed.tech/sources/back-end-austin-gil.md>)

Topics: [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [cloud-infrastructure](<https://devfeed.tech/topics/cloud-infrastructure.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [cloud-computing](<https://devfeed.tech/tags/cloud-computing.md>), [coding](<https://devfeed.tech/tags/coding.md>), [cost](<https://devfeed.tech/tags/cost.md>), [development](<https://devfeed.tech/tags/development.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [object-storage](<https://devfeed.tech/tags/object-storage.md>), [programming](<https://devfeed.tech/tags/programming.md>), [s3](<https://devfeed.tech/tags/s3.md>), [software](<https://devfeed.tech/tags/software.md>), [uploads](<https://devfeed.tech/tags/uploads.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

A tutorial on uploading files from a Node.js application to S3-compatible Object Storage. It explains how object storage can centralize uploads, support distributed or serverless architectures, avoid application-server disk limits, and reduce storage costs.

### Source excerpt

Learn how to upload files directly to S3-compatible Object Storage from your Node application to improve availability and reduce costs.

## Handling File Uploads on the Backend in Node.js (& Nuxt)

DevFeed: [Handling File Uploads on the Backend in Node.js (& Nuxt)](<https://devfeed.tech/articles/handling-file-uploads-on-the-backend-in-node-js-nuxt-17711.md>)

Original publisher: [Read original article](<https://austingil.com/file-uploads-in-node/>)

Author: Austin

Published: 2023-03-28T19:23:32Z

Content type: tutorial

Language: en

Sources: [Back End - Austin Gil](<https://devfeed.tech/sources/back-end-austin-gil.md>)

Topics: [Node.js](<https://devfeed.tech/topics/node-js.md>), [Nuxt.js](<https://devfeed.tech/topics/nuxt.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [back-end](<https://devfeed.tech/tags/back-end.md>), [backend](<https://devfeed.tech/tags/backend.md>), [coding](<https://devfeed.tech/tags/coding.md>), [development](<https://devfeed.tech/tags/development.md>), [files](<https://devfeed.tech/tags/files.md>), [guide](<https://devfeed.tech/tags/guide.md>), [http](<https://devfeed.tech/tags/http.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [js](<https://devfeed.tech/tags/js.md>), [node](<https://devfeed.tech/tags/node.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [nuxt](<https://devfeed.tech/tags/nuxt.md>), [programming](<https://devfeed.tech/tags/programming.md>), [software](<https://devfeed.tech/tags/software.md>), [streams](<https://devfeed.tech/tags/streams.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [uploads](<https://devfeed.tech/tags/uploads.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

A tutorial on handling file uploads on the backend with Node.js and Nuxt.js. It explains how uploaded request data is received as chunks and streams, and introduces approaches for processing and saving the files.

### Source excerpt

Learn about the low-level concepts for dealing with multipart/form-data in Node.js and how to save file uploads to disk with a high-level solution.

## Conditional API Responses For JavaScript vs. HTML Forms

DevFeed: [Conditional API Responses For JavaScript vs. HTML Forms](<https://devfeed.tech/articles/conditional-api-responses-for-javascript-vs-html-forms-17712.md>)

Original publisher: [Read original article](<https://austingil.com/http-javascript-vs-html/>)

Author: Austin

Published: 2023-01-03T15:31:38Z

Content type: tutorial

Language: en

Sources: [Back End - Austin Gil](<https://devfeed.tech/sources/back-end-austin-gil.md>)

Topics: [Nuxt.js](<https://devfeed.tech/topics/nuxt.md>), [API](<https://devfeed.tech/topics/api.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Forms](<https://devfeed.tech/topics/forms.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [backend](<https://devfeed.tech/tags/backend.md>), [building](<https://devfeed.tech/tags/building.md>), [coding](<https://devfeed.tech/tags/coding.md>), [development](<https://devfeed.tech/tags/development.md>), [edge-compute](<https://devfeed.tech/tags/edge-compute.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [html](<https://devfeed.tech/tags/html.md>), [http](<https://devfeed.tech/tags/http.md>), [idea](<https://devfeed.tech/tags/idea.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [js](<https://devfeed.tech/tags/js.md>), [programming](<https://devfeed.tech/tags/programming.md>), [software](<https://devfeed.tech/tags/software.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

A tutorial on detecting whether an HTTP request came from an HTML form or JavaScript in a Nuxt.js backend API. It explains returning redirects for form submissions and JSON for JavaScript requests, supporting progressive enhancement when JavaScript fails.

### Source excerpt

Learn how to build backend APIs that support progressive enhancement by detecting if a request was submitted with HTML forms or JavaScript.

## DevOps at Findmypast: Postgres Database Upgrades

DevFeed: [DevOps at Findmypast: Postgres Database Upgrades](<https://devfeed.tech/articles/devops-at-findmypast-postgres-database-upgrades-19745.md>)

Original publisher: [Read original article](<https://tech.findmypast.com/postgres-database-upgrades/>)

Author: Robbie Hill

Published: 2022-11-17T11:30:00Z

Content type: article

Language: en

Sources: [Findmypast](<https://devfeed.tech/sources/findmypast.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [DevOps](<https://devfeed.tech/topics/devops.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>), [Microservices](<https://devfeed.tech/topics/microservices.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Puppet](<https://devfeed.tech/topics/puppet.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>)

Tags: [back-end](<https://devfeed.tech/tags/back-end.md>), [clusters](<https://devfeed.tech/tags/clusters.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [databases](<https://devfeed.tech/tags/databases.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [devops](<https://devfeed.tech/tags/devops.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [findmypast](<https://devfeed.tech/tags/findmypast.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [kubernetes-clusters](<https://devfeed.tech/tags/kubernetes-clusters.md>), [linux](<https://devfeed.tech/tags/linux.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [mongodb](<https://devfeed.tech/tags/mongodb.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [puppet](<https://devfeed.tech/tags/puppet.md>), [relational-databases](<https://devfeed.tech/tags/relational-databases.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>), [updates](<https://devfeed.tech/tags/updates.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [upgrades](<https://devfeed.tech/tags/upgrades.md>)

### AI overview

Findmypast describes its process for upgrading production and non-production Postgres databases. The article covers the database infrastructure, backup arrangements, Puppet-managed installations, version drift between environments, and the reasons for standardizing on the latest supported Postgres version.

### Source excerpt

Introduction Findmypast and its sister site; the British Newspaper Archive (BNA), are served by a web of microservices operating across multiple Kubernetes clusters. A number of our microservices rely upon a back-end database, and although we do operate other database technologies (MSSQL, MongoDB etc.), Postgres is our de-facto standard for relational databases. When the DevOps team first realised the need to upgrade all of the database nodes to the latest Postgres version, we operated a total of twelve production Postgres databases, each running on their own dedicated Ubuntu Linux virtual machine (VM). Running on standalone VMs allows for separation of concerns, and limits the 'blast radius' of issues and failures should they occur. All VMs are managed by our Hyper-V cluster, and backed up regularly by Veeam. In addition to this backup method we operate Barman, which takes a full backup of all production Postgres database hosts nightly, and continuously receives WAL (Write Ahead Log) updates. We operate a a similar number of staging / integration / utility Postgres databases. Unlike the production databases these are (mostly) co-located on a single host, given the reduced storage and performance requirements of these databases. Existing Processes We manage Postgres installations and configuration through Puppet, pinning the installed version of Postgres. After the initial deployment we were not actively upgrading the Postgres version running on the hosts. Upgrades of the production databases were instead only undertaken by the feature teams (those teams that manage our micro-services), or by us when requested by the feature teams. This meant that we had a variety of Postgres databases deployed to production, between versions 9 and 14 (the latest supported version at the time). It also meant that the Production Postgres versions differed from their respective staging / integration database. We knew this situation, as well as the approach to upgrades was bad practice

## Online Payments with Square and React

DevFeed: [Online Payments with Square and React](<https://devfeed.tech/articles/online-payments-with-square-and-react-15789.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/online-payments-with-square-and-react>)

Author: Anthony Giuliano

Published: 2022-11-17T05:00:00Z

Content type: tutorial

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Next.js](<https://devfeed.tech/topics/next-js.md>), [React](<https://devfeed.tech/topics/react.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [API](<https://devfeed.tech/topics/api.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Front end](<https://devfeed.tech/topics/frontend.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apis](<https://devfeed.tech/tags/apis.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [next-js](<https://devfeed.tech/tags/next-js.md>), [payments](<https://devfeed.tech/tags/payments.md>), [react](<https://devfeed.tech/tags/react.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

This tutorial explains how to build an end-to-end online payment flow with Square and Next.js. It covers a React payment form, the Square Web Payments SDK, the Square Payments API, and processing on both the front end and back end. The described flow supports credit cards, Google Pay, and Apple Pay.

### Source excerpt

Build an end-to-end payment flow with Square and Next.js.

## The Engineering Story Behind Flex Comp

DevFeed: [The Engineering Story Behind Flex Comp](<https://devfeed.tech/articles/the-engineering-story-behind-flex-comp-1326.md>)

Original publisher: [Read original article](<https://shopify.engineering/building-flex-comp>)

Author: Eric Poirier

Published: 2022-10-05T18:00:02Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Shopify](<https://devfeed.tech/topics/shopify.md>), [Development](<https://devfeed.tech/topics/development.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Code](<https://devfeed.tech/topics/code.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [back-end](<https://devfeed.tech/tags/back-end.md>), [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [user-interface](<https://devfeed.tech/tags/user-interface.md>)

### AI overview

Shopify describes the engineering work behind Flex Comp, a compensation system that lets employees allocate their total rewards among base salary, Restricted Stock Units, and Stock Options. The article covers the product vision, employee-facing interface, delivery constraints, prioritized backlog, and the collaboration of front-end and back-end teams to solve technical challenges.

### Source excerpt

How we built Flex Comp: Shopify's new approach to compensation that gives employees the ability to choose how they want to allocate their total reward between base salary, Restricted Stock Units (RSUs), and Stock Options today, with new features like Shop Cash in the future.

[Next page](<https://devfeed.tech/tags/back-end.md?cursor=WyIyMDIyLTEwLTA1VDE4OjAwOjAyKzAwOjAwIiwgIjYyYjBlNjY4LTU5MDMtNGI1Ny1iODVjLTI2ZWE0NzE5ZGY3YyJd>)