- PHP 74.3%
- Vue 12.9%
- TypeScript 10.6%
- Dockerfile 0.6%
- Shell 0.6%
- Other 0.9%
|
All checks were successful
/ lint_docker_compose (push) Successful in 17s
/ build_docs (push) Successful in 26s
/ backend_checks (push) Successful in 59s
/ frontend_lint (push) Successful in 36s
/ frontend_unit_tests (push) Successful in 45s
/ frontend_build (push) Successful in 52s
/ backend_tests (push) Successful in 2m38s
/ backend_checks (pull_request) Successful in 59s
/ lint_docker_compose (pull_request) Successful in 21s
/ build_docs (pull_request) Successful in 27s
/ backend_tests (pull_request) Successful in 1m29s
/ frontend_lint (pull_request) Successful in 43s
/ backend_build (push) Successful in 4m23s
/ frontend_unit_tests (pull_request) Successful in 40s
/ frontend_build (pull_request) Successful in 1m1s
/ backend_build (pull_request) Successful in 4m30s
|
||
|---|---|---|
| .forgejo/workflows | ||
| backend | ||
| data/caldav/data | ||
| documentation | ||
| frontend | ||
| .editorconfig | ||
| .gitignore | ||
| CONTRIBUTING.md | ||
| docker-compose.yml | ||
| generate-ics-files.sh | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
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, we’ve got you covered! If you have any questions or need help getting started, feel free to create an issue and we’ll assist you.
Join us and help build the future of open source appointment scheduling with OpenCal! 🌟