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 (timesheetproductionshift planning, shared resource reservation), services (doctor appointment schedulinghotel 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 loadingPDF exportinfinite 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 CoreSpring 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 AngularReact, and Vue.js.

JavaScript Scheduler: Limit Time Range Selection (Min/Max)
JavaScript Scheduler: Limit Time Range Selection (Min/Max)
How to limit drag and drop time range selection to the specified number of cells.
JavaScript Scheduler: Using Checkboxes to Select Rows
JavaScript Scheduler: Using Checkboxes to Select Rows
How to select Scheduler rows using checkboxes displayed in the row header.
JavaScript Yearly Calendar
JavaScript Yearly Calendar
How to configure DayPilot JavaScript Calendar to create a custom view that displays a yearly calendar where each column represents one month, and each cell represents one day.
ASP.NET Core Field Service Scheduling: Tasks, Routes, and Travel Time
ASP.NET Core Field Service Scheduling: Tasks, Routes, and Travel Time
How to implement a field service scheduling application in ASP.NET Core, with visual representation of travel time, route planning, and real-time constraint enforcement.
JavaScript Scheduler: Customized Snap-to-Grid
JavaScript Scheduler: Customized Snap-to-Grid
How to implement custom snap-to-grid rules in the JavaScript Scheduler component.
JavaScript Scheduler: Using Split Resources to Manage Task Priorities
JavaScript Scheduler: Using Split Resources to Manage Task Priorities
How to configure the JavaScript Scheduler component to display a dedicated sub-row for each priority level. This allows you to group tasks with the same priority and display them at the same position within a row.
JavaScript Scheduler: Undo/Redo
JavaScript Scheduler: Undo/Redo
Client-side undo/redo implementation for the JavaScript Scheduler built with DayPilot Lite. Displays the full action history and the current position in the list.
JavaScript Scheduler: Column Summary and Availability Chart
JavaScript Scheduler: Column Summary and Availability Chart
How to display a column summary with resource utilization and availability details in the JavaScript Scheduler component. The utilization is also displayed using a bar chart at the bottom of the Scheduler grid.
Vue Scheduler: On-Demand Event Loading
Vue Scheduler: On-Demand Event Loading
How to enable on-demand event loading in the Vue 3 Scheduler component. The sample uses the current Vite-based frontend and loads events for the current viewport during scrolling.
JavaScript Scheduler: Show/Hide Columns using Context Menu
JavaScript Scheduler: Show/Hide Columns using Context Menu
How to add a context menu to the JavaScript Scheduler header that will let users toggle column visibility.
React Scheduler Component Tutorial
React Scheduler Component Tutorial
Add a scheduler UI component to your React 19 application using the current DayPilot builder template. Covers one-year timeline setup, row headers, filtering, drag and drop, and context menu customization.
ASP.NET Core Maintenance Scheduling (Open-Source)
ASP.NET Core Maintenance Scheduling (Open-Source)
How to create a visual, color-coded, and easily adjustable maintenance schedule in ASP.NET Core using DayPilot Lite, the open-source calendar/scheduling UI library.
JavaScript Scheduler Quick Start Project (PHP Backend)
JavaScript Scheduler Quick Start Project (PHP Backend)
Quick-start JavaScript Scheduler project using DayPilot Lite, a Vite frontend generated by the UI Builder, and a PHP 8 JSON API with SQLite by default and optional MySQL/PostgreSQL support.
React Scheduler: How to Search Events
React Scheduler: How to Search Events
Learn how to search React Scheduler events, highlight matching text, and jump between results using Next and Previous buttons in a React 19 application.
Vue.js Scheduler: Changing Visible Date
Vue.js Scheduler: Changing Visible Date
How to switch the visible date range displayed by the Vue.js Scheduler using Previous and Next buttons.
Cell Templates in Vue Calendar: Display Slot Start Times, Sunrise & Sunset (Open-Source)
Cell Templates in Vue Calendar: Display Slot Start Times, Sunrise & Sunset (Open-Source)
Use Vue templates to add custom content to calendar cells: text, icons, or even Vue components. Use v-if to display content only in the cells you choose.
JavaScript Scheduler: Displaying Text above Events
JavaScript Scheduler: Displaying Text above Events
How to display custom text above Scheduler events in a reserved space. Display details about the event start, end or other related information.
JavaScript Scheduler: Warm-Up and Cool-Down Time
JavaScript Scheduler: Warm-Up and Cool-Down Time
How to add warm-up and cool-down time to Scheduler events. The additional time segments are stored and displayed automatically but drag and drop is only enabled for the core event.
React Timesheet
React Timesheet
How to display a timesheet in a React application. Learn how to configure the time axis, hide non-business hours, add daily totals, and edit records using drag and drop.
React Shift Scheduling Application (PHP/MySQL Backend)
React Shift Scheduling Application (PHP/MySQL Backend)
React application that lets you visually schedule shifts at multiple locations. The backend REST API is implemented using PHP, with SQLite default storage and optional MySQL.
Articles 1-20 of 190 Next