Open Souce Appointment Scheduling Platfom.
  • PHP 67.5%
  • Vue 16.1%
  • TypeScript 14.6%
  • Dockerfile 0.5%
  • Shell 0.5%
  • Other 0.7%
Find a file
Anton Dachauer 0dafe104b3
All checks were successful
/ backend_checks (pull_request) Successful in 1m2s
/ lint_docker_compose (pull_request) Successful in 23s
/ backend_tests (pull_request) Successful in 1m30s
/ frontend_lint (pull_request) Successful in 44s
/ frontend_build (pull_request) Successful in 49s
/ frontend_unit_tests (pull_request) Successful in 1m22s
/ build_docs (pull_request) Successful in 3m30s
/ backend_build (pull_request) Successful in 4m23s
/ backend_checks (push) Successful in 1m2s
/ backend_tests (push) Successful in 1m32s
/ lint_docker_compose (push) Successful in 34s
/ frontend_lint (push) Successful in 45s
/ frontend_unit_tests (push) Successful in 1m24s
/ frontend_build (push) Successful in 49s
/ backend_build (push) Successful in 4m1s
/ build_docs (push) Successful in 3m30s
enhance page title
2026-03-27 17:09:34 +01:00
.forgejo/workflows ci: ensure builds use release tag instead of main branch 2026-03-08 14:15:13 +01:00
backend fix crontab configuration 2026-03-23 16:20:00 +01:00
data/caldav/data sync multi-day-events & fix sync time zone bug 2026-02-14 22:50:07 +01:00
documentation docs: fix errors and add missing configuration details 2026-03-07 17:46:01 +01:00
frontend enhance page title 2026-03-27 17:09:34 +01:00
.editorconfig build docs container 2026-02-18 15:44:52 +01:00
.gitignore sync multi-day-events & fix sync time zone bug 2026-02-14 22:50:07 +01:00
CONTRIBUTING.md initial commit 2026-02-10 13:48:59 +01:00
docker-compose.yml dashboard redesign 2026-03-27 17:01:44 +01:00
generate-ics-files.sh refactoring backend code 2026-02-15 13:42:36 +01:00
LICENSE initial commit 2026-02-10 13:48:59 +01:00
Makefile sync multi-day-events & fix sync time zone bug 2026-02-14 22:50:07 +01:00
README.md feat(backend): assign ROLE_ADMIN to the first created user 2026-03-07 17:34:59 +01:00

OpenCal The Open Source Appointment Scheduling Platform

Docs | Getting started | Docker compose example repo | Docker images | OpenAPI.yml

OpenCal is a web-based open-source software designed to make online appointment scheduling effortless and efficient. Whether you're managing a team or running a business, OpenCal takes the hassle out of coordinating appointments, eliminating the need for endless back-and-forth emails. With OpenCal, you can streamline communication, save time, and focus on what really matters.


🛠 Tech Stack

  • Backend: Symfony 7.4 (PHP 8.4+) with API Platform & Doctrine ORM.
  • Frontend: Vue 3 + TypeScript with Vite & Bootstrap.
  • Infrastructure: Docker & Docker Compose.
  • Integration: CalDAV compatibility for seamless calendar integration.

🚀 Why Choose OpenCal?

  • No Big Tech Lock-In: Take back control of your data. OpenCal gives you the freedom to avoid reliance on corporate giants.
  • Completely Open-Source: OpenCal is licensed under the GNU AGPLv3 License.
  • CalDAV Compatible: Seamlessly integrate with most digital calendars to ensure smooth scheduling.
  • API-First: Powered by a robust, easy-to-use API that lets you integrate OpenCal however you need.
  • Admin Dashboard: Manage users and system settings with ease.

📖 Getting Started

We recommend to use the Docker images to run OpenCal.

To make it easy to start, we have created an example docker compose setup.

Read the getting started guide for more details.

Quick Start as Developer

Please read the contribution guide and the code of conduct.

The fastest way to get OpenCal running for development is using the provided Makefile:

# 1. Build Docker images
make build

# 2. Install dependencies (backend & frontend)
make install

# 3. Start the services
make up

Access the frontend at http://localhost (default) and the API documentation at http://localhost:8080/api/docs.

🧪 Testing

OpenCal is heavily tested to ensure reliability.

# Backend tests (Unit, Integration, API)
make backend.phpunit

# Frontend tests (Vitest)
# Run inside frontend container:
yarn run tests

🤝 How You Can Get Involved

We believe in the power of community, and we'd love for you to contribute! Whether you're a developer, designer, or just someone who wants to help improve the platform, there are plenty of ways to get involved.

Need Help?

No worries, weve got you covered! If you have any questions or need help getting started, feel free to create an issue and well assist you.


Join us and help build the future of open source appointment scheduling with OpenCal! 🌟