# fullcalendar/fullcalendar

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/fullcalendar-fullcalendar).**

20,499 stars · 3,716 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/fullcalendar/fullcalendar
- Homepage: https://fullcalendar.io
- awesome-repositories: https://awesome-repositories.com/repository/fullcalendar-fullcalendar.md

## Description

FullCalendar is a framework-agnostic UI library and JavaScript calendar component designed for building interactive event scheduling interfaces. It provides tools for managing time-based data, including an integrated iCal feed parser for importing external calendar files and recurring schedules into a unified web view.

The library features a system for event scheduling and management, enabling users to reschedule entries via drag-and-drop, adjust event durations by resizing, and highlight specific time ranges for selection. It supports multiple date views, such as month, week, day, and list formats, and includes a plugin-based extension model to add specific views or interaction capabilities.

The project covers broad functional areas including event lifecycle management, calendar content localization for different timezones and languages, and accessibility support for keyboard and screen-reader navigation. Visual appearance and component content can be modified through CSS and injection hooks for UI customization.

Integration with various frontend environments is provided through dedicated connectivity layers and framework-specific wrapper layers.

## Tags

### User Interface & Experience

- [Calendar Views](https://awesome-repositories.com/f/user-interface-experience/data-display-components/calendar-views.md) — Provides a comprehensive set of interactive calendar views including month, week, day, and list formats. ([source](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md))
- [Drag and Drop Libraries](https://awesome-repositories.com/f/user-interface-experience/drag-and-drop-libraries.md) — Enables rescheduling of events through a coordinate-based drag-and-drop interaction system.
- [Event Rescheduling](https://awesome-repositories.com/f/user-interface-experience/drag-and-drop-libraries/event-rescheduling.md) — Implements drag-and-drop functionality for rescheduling calendar events to new time slots. ([source](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md))
- [Framework Agnostic UI Logic](https://awesome-repositories.com/f/user-interface-experience/framework-agnostic-ui-logic.md) — Supplies a set of customizable calendar components that operate independently of any specific frontend framework.
- [Event Duration Adjustments](https://awesome-repositories.com/f/user-interface-experience/resizable-panes/element-resizers/event-duration-adjustments.md) — Allows users to adjust the length of scheduled events by dragging the edges of the event element. ([source](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md))
- [Grid Layout Rendering](https://awesome-repositories.com/f/user-interface-experience/text-rendering/dom-based-rendering/grid-layout-rendering.md) — Generates a dynamic HTML table structure to render a precise grid of dates and times.
- [Range Selection Interfaces](https://awesome-repositories.com/f/user-interface-experience/date-and-time-pickers/range-selection-interfaces.md) — Provides a user interface for highlighting specific date and time ranges to trigger bookings or custom actions.
- [Visual Event Mapping](https://awesome-repositories.com/f/user-interface-experience/event-driven-state-managers/event-driven-state-synchronizers/visual-event-mapping.md) — Maps the internal event data model to visual elements according to the currently active date view.
- [Event-Driven Interaction Handlers](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/interaction-and-event-handling/general-interaction-frameworks/interaction-models/event-driven-interaction-handlers.md) — Triggers custom callback functions by translating raw user interactions like clicking and resizing into application events.
- [Keyboard Navigation](https://awesome-repositories.com/f/user-interface-experience/keyboard-navigation.md) — Provides comprehensive keyboard navigation and screen-reader support to ensure the calendar interface is accessible to all users. ([source](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md))
- [Time Range Selections](https://awesome-repositories.com/f/user-interface-experience/range-sliders/time-range-selections.md) — Provides the ability to highlight specific date and time ranges to trigger bookings or custom callbacks. ([source](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md))

### Part of an Awesome List

- [Calendars And Dates](https://awesome-repositories.com/f/awesome-lists/devtools/calendars-and-dates.md) — Provides a comprehensive system for rendering interactive calendar grids and date selection components. ([source](https://github.com/fullcalendar/fullcalendar#readme))
- [View Switching Logic](https://awesome-repositories.com/f/awesome-lists/devtools/list-and-grid-views/view-switching-logic.md) — Allows seamless switching between different time horizons by regenerating the grid based on the selected date range.
- [Form Components](https://awesome-repositories.com/f/awesome-lists/devtools/form-components.md) — Full-sized drag-and-drop event calendar.

### Business & Productivity Software

- [Scheduling Interfaces](https://awesome-repositories.com/f/business-productivity-software/event-scheduling-software/scheduling-interfaces.md) — Provides a specialized interface for managing time-based data with tools for rescheduling and duration adjustment.
- [Calendar Event Management](https://awesome-repositories.com/f/business-productivity-software/task-workflow-automation/calendar-automation/calendar-event-management.md) — Manages the workflow of synchronizing and displaying event data from external sources within a customizable layout.
- [Appointment Scheduling Systems](https://awesome-repositories.com/f/business-productivity-software/appointment-scheduling-systems.md) — Provides the visual grid tools necessary to develop applications for booking time slots and managing appointments.

### Data & Databases

- [iCalendar Feed Parsers](https://awesome-repositories.com/f/data-databases/external-data-integrations/external-feed-integrations/icalendar-feed-parsers.md) — Implements a dedicated iCal feed parser to import external calendar files and recurring schedules into the interface. ([source](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md))
- [iCalendar Parsers](https://awesome-repositories.com/f/data-databases/external-data-integrations/external-feed-integrations/icalendar-parsers.md) — Includes a built-in tool for importing and displaying external calendar files and recurring schedules via iCal parsing.

### Web Development

- [Framework UI Wrappers](https://awesome-repositories.com/f/web-development/framework-ui-wrappers.md) — Provides dedicated wrapper layers to integrate the core JavaScript logic into various component-based web frameworks.
- [Web Framework Integrations](https://awesome-repositories.com/f/web-development/web-framework-integrations.md) — Binds calendar functionality to various component-based architectures using dedicated connectivity layers. ([source](https://github.com/fullcalendar/fullcalendar#readme))
- [Calendar Localizations](https://awesome-repositories.com/f/web-development/calendar-localizations.md) — Supports translating date labels and button text into multiple languages with specific timezone configurations. ([source](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md))

### Software Engineering & Architecture

- [Plugin-Based Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures/plugin-based-architectures.md) — Utilizes a plugin-based architecture to extend core calendar functionality with optional views and interaction modules.
