Skip to content

Latest commit

 

History

10,765 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nextcloud Calendar

REUSE status GitHub Workflow Status Codecov

A calendar app for Nextcloud. Easily sync events from various devices with your Nextcloud and edit them online.

Image

💙 🎉 Why is this so awesome?

  • 🚀 Integration with other Nextcloud apps! Like Contacts, Talk, Tasks, Deck and Circles
  • 🌐 WebCal Support! Want to see your favorite team's matchdays in your calendar? No problem!
  • 🙋 Attendees! Invite people to your events
  • Free/Busy! See when your attendees are available to meet
  • Reminders! Get alarms for events inside your browser and via email
  • 🔍 Search! Find your events at ease
  • ☑️ Tasks! See tasks or Deck cards with a due date directly in the calendar
  • 🔈 Talk rooms! Create an associated Talk room when booking a meeting with just one click
  • 📆 Appointment booking Send people a link so they can book an appointment with you using this app
  • 📎 Attachments! Add, upload and view event attachments
  • 🙈 We’re not reinventing the wheel! Based on the great c-dav library, ical.js and fullcalendar libraries.

🛠️ Installation

The app is distributed through the app store and you can install it right from your Nextcloud installation.

Release tarballs are hosted at https://github.com/nextcloud-releases/calendar/releases.

📡 Support

If you need assistance or want to ask a question about Calendar, you are welcome to ask for support in our Forums. If you have found a bug, feel free to open a new Issue on GitHub. Keep in mind, that this repository only manages the frontend. If you find bugs or have problems with the CalDAV-Backend, you should ask the team at Nextcloud server for help!

🌍 Supported Browsers

  • Chrome/Chromium 76+
  • Edge 40+
  • Firefox 60+
  • Internet Explorer 11
  • Safari 12.1+

Maintainers

Build the app

To build you will need to have Node.js and Composer installed.

  • Install PHP dependencies: composer install
  • Install JS dependencies: npm ci
  • Build JavaScript for the frontend
    • npm run dev development build
    • npm run watch watch for changes
    • npm run build production build

Read more about necessary prerequisites for manual installs.

Running tests

You can run the following back-end and front-end tests by using:

composer test
npm run test

Front-end tests are split into unit tests (Vitest), component tests and end-to-end tests (both Playwright):

npm run test:unit             # Vitest unit tests
npm run test:component        # Playwright component tests

Updating Playwright snapshots

Component tests compare screenshots against committed baseline snapshots. If your change intentionally alters rendered output, regenerate them with:

npm run test:component:update-snapshots   # regenerate component test snapshots

Running the Playwright GUI in a container/remote environment

npm run test:component:ui and npm run test:e2e:ui open Playwright's UI mode, which normally launches a window on your local machine. When running inside a devcontainer, Codespace, SSH remote, or any other headless environment, use the :remote variants instead, which serve the UI over HTTP so it can be reached through a forwarded port in your local browser:

npm run test:component:ui:remote   # component tests UI, served on port 13000
npm run test:e2e:ui:remote          # end-to-end tests UI, served on port 13000

✌️ Code of conduct

The Nextcloud community has core values that are shared between all members during conferences, hackweeks and on all interactions in online platforms including Github and Forums. If you contribute, participate or interact with this community, please respect our shared values. 😌

❤️ How to create a pull request

This guide will help you get started:

Commits in this repository follow the Conventional Commits specification.