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.

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.
JavaScript Scheduler: Event Placement Strategies

JavaScript Scheduler: Event Placement Strategies

An overview of Scheduler settings that let you control the vertical event position within rows. Includes custom sorting, forcing a specific line within a row, dedicated lines, keeping related events together using virtual containers.
Vue Calendar: Day/Week/Month Views (Open-Source)

Vue Calendar: Day/Week/Month Views (Open-Source)

Create a complex calendar UI in Vue.js with multiple views, view-switching buttons and an integrated date picker. Use a shared data source to make it fast and Vue templates to define event appearance.
React Resource Calendar

React Resource Calendar

How to use the column hierarchy feature of the React calendar to display events for many resources. The groups and resources are displayed as columns and the time slots are displayed as rows.
Vue.js Scheduler Quick Start Tutorial

Vue.js Scheduler Quick Start Tutorial

Vue.js project that includes Scheduler component with basic configuration and all required boilerplate code.
How to Add Interactive Elements to Vue Scheduler Events Using Templates

How to Add Interactive Elements to Vue Scheduler Events Using Templates

Vue templates supported by the Scheduler component allow you to add dynamic content to events, such as checkboxes, drop-down lists, or attachment upload buttons.
Vue Scheduler: Using Cell Templates to Show Slot Prices

Vue Scheduler: Using Cell Templates to Show Slot Prices

How to use Vue templates to display dynamic reservation prices in each Scheduler time slot. Slot prices are defined using pricing plans independently for each day of the week.
Vue Scheduler: Build a Reservation Application in 5 Minutes

Vue Scheduler: Build a Reservation Application in 5 Minutes

Vue.js application for scheduling resource reservations. Built using a customizable Scheduler UI component - flexible timeline, drag and drop support.
Vue Scheduler with Horizontal Timeline (Open-Source)

Vue Scheduler with Horizontal Timeline (Open-Source)

Build a horizontal, resource-based timeline using the open-source Vue Scheduler and customize event appearance with Vue templates and CSS.
Vue Scheduler: How to Display Holidays

Vue Scheduler: How to Display Holidays

How to display global and row-specific holidays in the Vue Scheduler. Optionally, disable the drag and drop operations for the holiday cells.
React Scheduler: Full Screen Layout

React Scheduler: Full Screen Layout

How to integrate the React Scheduler component into a full screen page layout. The full screen mode will allow rendering optimizations to be applied correctly and avoid a confusing duplicate vertical scrollbar.
React Scheduler: How to Display Slot Details using Background Events

React Scheduler: How to Display Slot Details using Background Events

How to move the React Scheduler events to the background so they can be used to display additional time slot information.
React: Milestone Scheduler

React: Milestone Scheduler

How to display milestones in the React Scheduler component. You can use custom shapes, icons, colors and connect the milestones using links.
JavaScript Scheduler with Horizontal Timeline (Open-Source)

JavaScript Scheduler with Horizontal Timeline (Open-Source)

Use the open-source JavaScript Scheduler to build a horizontal timeline for multiple resources: adjust the appearance, add custom controls, configure the timeline, show a context menu, and switch the visible month.