- PHP 67.6%
- Vue 16%
- TypeScript 14.5%
- Dockerfile 0.6%
- Shell 0.5%
- Other 0.7%
|
All checks were successful
/ backend_checks (pull_request) Successful in 1m59s
/ backend_tests (pull_request) Successful in 2m1s
/ lint_docker_compose (pull_request) Successful in 23s
/ backend_build (pull_request) Successful in 5m20s
/ build_docs (pull_request) Successful in 3m31s
/ frontend_unit_tests (pull_request) Successful in 53s
/ frontend_lint (pull_request) Successful in 1m40s
/ frontend_build (pull_request) Successful in 1m7s
/ backend_checks (push) Successful in 1m46s
/ backend_tests (push) Successful in 2m50s
/ lint_docker_compose (push) Successful in 36s
/ backend_build (push) Successful in 2m48s
/ frontend_lint (push) Successful in 50s
/ frontend_unit_tests (push) Successful in 52s
/ build_docs (push) Successful in 3m53s
/ frontend_build (push) Successful in 4m1s
/ build_backend (release) Successful in 2m53s
/ update_release_changelog (release) Successful in 13s
/ build_frontend (release) Successful in 1m25s
/ build_docs (release) Successful in 51s
|
||
|---|---|---|
| .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! 🌟