{"id":23122540,"url":"https://github.com/folio-org/mod-calendar","last_synced_at":"2025-08-17T01:32:19.425Z","repository":{"id":40444257,"uuid":"111073391","full_name":"folio-org/mod-calendar","owner":"folio-org","description":"Calendar functionalities to enable service points to maintain hours of operation","archived":false,"fork":false,"pushed_at":"2025-07-29T23:34:27.000Z","size":4705,"stargazers_count":2,"open_issues_count":0,"forks_count":9,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-07-30T01:38:19.548Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/folio-org.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-11-17T07:43:27.000Z","updated_at":"2025-07-29T23:34:30.000Z","dependencies_parsed_at":"2023-01-25T16:00:43.439Z","dependency_job_id":"29a1af41-8d81-4f32-ad08-9ba705b58ba1","html_url":"https://github.com/folio-org/mod-calendar","commit_stats":null,"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"purl":"pkg:github/folio-org/mod-calendar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folio-org%2Fmod-calendar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folio-org%2Fmod-calendar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folio-org%2Fmod-calendar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folio-org%2Fmod-calendar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/folio-org","download_url":"https://codeload.github.com/folio-org/mod-calendar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folio-org%2Fmod-calendar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270796223,"owners_count":24647320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-16T02:00:11.002Z","response_time":91,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-17T07:27:58.475Z","updated_at":"2025-08-17T01:32:17.848Z","avatar_url":"https://github.com/folio-org.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mod-calendar\n\nCopyright (C) 2017-2023 The Open Library Foundation\n\nThis software is distributed under the terms of the Apache License, Version 2.0. See the file\n\"[LICENSE](LICENSE)\" for more information.\n\n- [Introduction](#introduction)\n- [Compiling](#compiling)\n- [Running the module locally](#running-the-module-locally)\n- [Testing the module](#testing-the-module)\n- [Docker/Deploying the module](#dockerdeploying-the-module)\n  - [Module descriptor](#module-descriptor)\n  - [Tenant parameters](#tenant-parameters)\n  - [Environment variables](#environment-variables)\n    - [Integration Tests](#integration-tests)\n- [API documentation](#api-documentation)\n- [Internationalization](#internationalization)\n- [Code analysis](#code-analysis)\n- [Issue tracking](#issue-tracking)\n- [Download and configuration](#download-and-configuration)\n\n## Introduction\n\nThis module provides calendar functionalities for FOLIO systems, allowing service points to maintain\nhours of operation.\n\n## Compiling\n\nTo compile, simply run:\n\n```sh\nmvn install\n```\n\nNote: _you will need Docker installed and running, for the integration tests that Maven runs as part\nof the installation. If you wish to skip this, add `-DskipTests` to the command._\n\n## Running the module locally\n\nTo run the module locally, you can create a JAR with:\n\n```sh\nmvn package\n```\n\nOnce the module has been packaged into a JAR, you can run it on the command line (with the\nappropriate [environment variables](#environment-variables)):\n\n```sh\njava -jar target/mod-calendar-*.jar\n```\n\nFor developers with VS Code, a [`launch.json`](.vscode/launch.json) is provided which allows the\nbuilt-in run features to launch and debug the module within the IDE.\n\n## Testing the module\n\nTo test the module locally, you can run the `test` Maven command:\n\n```sh\nmvn clean test jacoco:report\n```\n\nTo do this, you must be running Docker. For more information, see the [test docs](docs/testing.md).\n\n## Docker/Deploying the module\n\nPlease see the [install](docs/install.md) docs for information on building a docker container and\nregistering it with/deploying it to Okapi.\n\n### Module descriptor\n\nSee the built `target/ModuleDescriptor.json` or the template\n`descriptors/ModuleDescriptor-template.json` for the interfaces that this module requires and\nprovides, the permissions, and the additional module metadata. An explanation of the contents of\nthis file may be found in the [build process](docs/build-process.md) document.\n\n### Tenant parameters\n\nWhen deploying to a module through Okapi, the following parameters are available:\n\n| Name          | Default Value | Description                                                                                                                                                                                                                                                                                                                   |\n| ------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| loadReference | `\"false\"`     | Does not do anything, however, is supported per the [Okapi specification](https://github.com/folio-org/okapi/blob/master/doc/guide.md)                                                                                                                                                                                        |\n| loadSample    | `\"false\"`     | If `\"true\"`, a series of sample calendars will be added representing examples of exceptions and openings across multiple calendars and service points. This will use the same service points loaded by [mod-inventory-storage](https://github.com/folio-org/mod-inventory-storage/tree/master/reference-data/service-points). |\n\n### Environment variables\n\nSee `.env.sample` for example values.\n\n| Name         | Default Value              | Description                                                                           |\n| ------------ | -------------------------- | ------------------------------------------------------------------------------------- |\n| JAVA_OPTIONS | `XX:MaxRAMPercentage=66.0` | Sets `java` command-line options. Default is to set the maximum ram percentage to 66% |\n| DB_HOST      | `localhost`                | Postgres hostname                                                                     |\n| DB_PORT      | `5432`                     | Postgres port                                                                         |\n| DB_USERNAME  | `folio_admin`              | Postgres username                                                                     |\n| DB_PASSWORD  | `folio_admin`              | Postgres password                                                                     |\n| DB_DATABASE  | `okapi_modules`            | Postgres database name                                                                |\n\n#### Integration Tests\n\nIntegration tests have special environment variables that control whether or not API requests are\nrouted through a proxy. A proxy can be helpful for debugging all of the API requests associated with\nintegration tests, providing a separate GUI interface that may provide more details.\n\n| Name         | Default Value | Description                                            |\n| ------------ | ------------- | ------------------------------------------------------ |\n| PROXY_ENABLE | `false`       | If requests should be proxied (`true` or `false` only) |\n| PROXY_SCHEME | `http`        | The protocol to use for a proxy                        |\n| PROXY_HOST   | `localhost`   | The host to proxy through                              |\n| PROXY_PORT   | `8888`        | The port on PROXY_HOST to proxy through                |\n\nAdditionally, if `PROXY_ENABLE` is `true`, additional logging-only requests will be sent to a few\nendpoints:\n\n- `GET /_/tests/_/database-truncate` every time the database is truncated (after most modifying\n  integration tests methods/classes)\n- `GET /_/tests/class/method` before every test begins\n- `GET /_/tests/_/finish` after every test finishes (successful or otherwise)\n\nThese endpoints do not exist (and will correspondingly generate `404` errors), however, will appear\nin any proxy logs, making it easy to isolate each test/action.\n\n## API documentation\n\nThis module's [API documentation](https://dev.folio.org/reference/api/#mod-calendar).\n\n## Internationalization\n\nThis module is locale-aware, based on the `Accept-Language` header. Translations are stored in the\n[translations](translations/mod-calendar/) folder.\n\n## Code analysis\n\n[SonarQube analysis](https://sonarcloud.io/dashboard?id=org.folio%3Amod-calendar).\n\n## Issue tracking\n\nSee [MODCAL](https://issues.folio.org/projects/MODCAL) in the\n[FOLIO issue tracker](https://issues.folio.org/).\n\n## Download and configuration\n\nThe built artifacts for this module are available. See\n[configuration](https://dev.folio.org/download/artifacts) for repository access, and the\n[Docker image](https://hub.docker.com/r/folioorg/mod-calendar/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffolio-org%2Fmod-calendar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffolio-org%2Fmod-calendar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffolio-org%2Fmod-calendar/lists"}