Skip to content
DayPilot

JavaScript Calendar and Scheduler Tutorials

This page lists tutorials that show how to create a scheduling web application for various fields, such as internal company use (timesheet, production, shift planning, shared resource reservation), services (doctor appointment scheduling, hotel room reservation), and project management.

Beginners can start with basic tutorials that explain the basic concepts like installation and initial configuration of the the components (e.g. HTML5 Scheduler). Experienced users can continue with more advanced projects that show how to use the Scheduler in a real-world scenario. There are also tutorials that demonstrate specific features of the scheduler and calendar components (dynamic loading, PDF export, infinite scrolling). If you are looking for a specific use case which is missing, you can drop us a note in the forum.

All calendar and scheduler tutorials include a downloadable project with source code. You can use the project source code to start your own implementation and save some time with the initial setup and configuration. The tutorial text explains the key areas of the code and shows different views and options using screenshots.

The projects use HTML5 and plain JavaScript interface for the frontend (UI). Most of the tutorial use PHP as the server-side technology for the backend (REST API), but there are also tutorials for other server-side technologies (ASP.NET Core, Spring Boot).

There is also an online configurator tool available that lets you customize selected properties of the components. It shows the changes immediately using a live preview. You can use it to create a quick proof-of-concept project - the configurator will generate a downloadable project that includes the dependencies and the selected component configuration.

In addition to vanilla JavaScript and TypeScript, DayPilot also supports popular JavaScript client-side frameworks, including Angular, React, and Vue.js.

React Scheduler: External Drag and Drop

React Scheduler: External Drag and Drop

How to activate external items so they can be dragged to the React Scheduler component.
JavaScript Scheduler: How to Unschedule Events

JavaScript Scheduler: How to Unschedule Events

When removing events from the scheduler, it is possible to remove them completely or to move them to a queue of unscheduled tasks or a row with unassigned events (while keeping the scheduled time).
JavaScript Monthly Calendar: Max Events + Expand Button

JavaScript Monthly Calendar: Max Events + Expand Button

How to limit the number of concurrent events displayed by the monthly calendar and add an "expand" button to access the events.
React JSX Components in Scheduler Grid Cells

React JSX Components in Scheduler Grid Cells

How to render custom React JSX component in the Scheduler grid cells.
JavaScript Monthly Calendar: How to Disable Selected Days

JavaScript Monthly Calendar: How to Disable Selected Days

How to mark selected days as disabled and prevent adding, moving, and resizing events. You can use this technique to disable days in the past, weekends, holidays or other dates.
ASP.NET Core Timesheet (.NET 10, SQL Server, Entity Framework)

ASP.NET Core Timesheet (.NET 10, SQL Server, Entity Framework)

How to create a drag-and-drop timesheet application in ASP.NET Core (.NET 10) with SQL Server and Entity Framework.
JavaScript Scheduler: Expandable Event Groups

JavaScript Scheduler: Expandable Event Groups

How to group related events into a single event in the JavaScript Scheduler component and add expand [+] and collapse [-] icons that allow changing the event visibility.
JavaScript Scheduler: A Guide to Touch and Mobile Support

JavaScript Scheduler: A Guide to Touch and Mobile Support

Build a touch-friendly JavaScript Scheduler with DayPilot. Create, move and resize events, open an event menu, and edit dates and resources on phones, tablets and desktop browsers.
ASP.NET Core Shift Planning (Entity Framework, .NET 10)

ASP.NET Core Shift Planning (Entity Framework, .NET 10)

This tutorial explains how to create a visual ASP.NET Core application for scheduling shifts (multiple locations and employees). It uses a modern UI that lets you manage shifts using drag and drop.
Vue Calendar: Using Templates to Add Icons, Buttons, or Progress Bars to Events (Open-Source)

Vue Calendar: Using Templates to Add Icons, Buttons, or Progress Bars to Events (Open-Source)

Vue templates allow adding dynamic content to Vue Calendar events, including interactive elements and custom Vue components.
React Scheduler: Timeline Zoom

React Scheduler: Timeline Zoom

How to add a zoom feature to the React Scheduler timeline. You can change the zoom level (and timeline resolution) using a "range" control and "zoom in" and "zoom out" buttons.
JavaScript Scheduler: Events as Drag and Drop Target

JavaScript Scheduler: Events as Drag and Drop Target

How to configure Scheduler event boxes to accept items from an external list (drag and drop). Implemented using standard HTML5 drag and drop API.
React Scheduler: How to Enable Undo/Redo

React Scheduler: How to Enable Undo/Redo

The React Scheduler component can record all drag and drop actions and allow unlimited undo/redo. See how to add undo/redo buttons and display the full history.
JavaScript Scheduler: Swapping Events (Drag and Drop)

JavaScript Scheduler: Swapping Events (Drag and Drop)

How to implement event swapping using drag an drop in the JavaScript Scheduler component. Detect events at the target position and move the target event to the source position after drop. The Scheduler provides real-time feedback during dragging.
JavaScript Scheduler: Use Shift+Drag to Start Selection over Events

JavaScript Scheduler: Use Shift+Drag to Start Selection over Events

How to override the drag behavior to allow time range selection to be started anywhere in the Scheduler grid (over cells or events).
React Scheduler: Large Datasets and Performance

React Scheduler: Large Datasets and Performance

What things to look at when you are not happy with the React Scheduler component performance.
JavaScript Scheduler: Dragging Items from Events

JavaScript Scheduler: Dragging Items from Events

How to drag items from events out of the Scheduler and drop it on a custom drop target. The source event data object is attached to the dragged item and can be read on drop.
JavaScript Scheduler: Skip Non-Business Cells during Drag and Drop

JavaScript Scheduler: Skip Non-Business Cells during Drag and Drop

How to add custom logic to the Scheduler component that skips non-business cells during drag and drop operations (event creating, event resizing, event moving).
ASP.NET Core Doctor Appointment Scheduling Tutorial (.NET 10)

ASP.NET Core Doctor Appointment Scheduling Tutorial (.NET 10)

ASP.NET Core application for doctor appointment scheduling. The application works with three roles: manager (define available appointment slots), patient (request an appointment using one of the available slots), and doctor (manage existing appointments).
ASP.NET Core Production Workflow Scheduling Tutorial

ASP.NET Core Production Workflow Scheduling Tutorial

Schedule manufacturing jobs by assigning tasks to individual machines using drag and drop. Includes an ASP.NET Core application for download, data is stored in an SQL Server database.