August 2026 Summaries
3 posts from Strapi
Filter
Month:
Year:
Post Summaries
Back to Blog
Strapi 5 cron jobs enable backend code to run automatically on schedules for tasks such as sending newsletters, synchronizing APIs, publishing scheduled content, and removing expired records. Cron is disabled by default and must be enabled in the server configuration, with static tasks commonly organized in a dedicated cron-tasks file or registered dynamically through `strapi.cron.add()` during application or plugin bootstrap. The recommended task format uses named object entries containing a task callback and scheduling options, as expression-keyed tasks are anonymous and cannot be removed easily. Strapi uses node-schedule, supports five- or six-field cron expressions and optional time zones, but its scheduler is stateless across restarts and executes every job on each application instance in a scaled deployment. Tasks can access Strapi’s Document Service API to work with single or collection content types, while dynamically registered jobs should be removed during shutdown or before rescheduling. The guidance emphasizes database locks, external schedulers, or a dedicated cron instance to prevent duplicate execution across multiple servers, as well as logging, error handling, environment-specific schedules, and idempotency protections. For complex workloads requiring retries, queues, monitoring, job history, or isolation from the API process, external tools such as BullMQ, Agenda, or cloud schedulers may be more appropriate.
Aug 29, 2026
5,588 words in the original blog post.
A tutorial demonstrates how to build a production-oriented tutor marketplace using a Strapi 5 backend and Next.js 16 frontend, where visitors can browse published tutor profiles, authenticate as students, and book sessions. The Strapi setup models Tutor and Booking collection types with a many-to-one relationship, uses `documentId` and flattened REST responses introduced in Strapi 5, configures public and authenticated permissions, and extends the booking controller with the Document Service API to reject duplicate tutor bookings at the same time while preserving Strapi’s response sanitization. The Next.js application uses typed Server Components to fetch tutor data privately from Strapi, configures remote image handling, caches listings with timed revalidation, and accommodates Next.js 16 requirements for asynchronous route parameters and cookies. Authentication and booking submissions run through Server Actions, which store Strapi JWTs in httpOnly cookies and send authorized booking requests without exposing the backend URL or token to the browser. The guide also covers local testing, tutor seeding, deployment considerations, migration from SQLite to production databases, webhook-driven cache invalidation, typed Strapi clients, internationalization, and GraphQL as possible next steps.
Aug 11, 2026
4,312 words in the original blog post.
Strapi 5 and Next.js 16 provide a composable headless ecommerce stack that separates content management, storefront rendering, and payments, allowing teams to build and evolve each layer independently. The guide explains how to scaffold a Strapi backend, create Product, Category, and Order collection types, add product data, enable public REST API permissions, and account for Strapi 5’s flattened response format. It then connects a Next.js App Router frontend using Server Components, protected server-side API tokens, image-domain configuration, and time-based data revalidation, while highlighting Next.js 16 changes involving Turbopack, asynchronous request APIs, image optimization, and cache tagging. A client-side React Context cart persists items locally, Stripe Checkout creates payment sessions, and a server-side Stripe webhook securely verifies completed payments and records orders in Strapi. Finally, the deployment process uses Strapi Cloud for the backend and Vercel for the frontend, with separate production credentials, webhook configuration, and end-to-end test payments, followed by suggestions for cache invalidation, role-based access, internationalization, performance improvements, and ecommerce SEO.
Aug 11, 2026
4,115 words in the original blog post.