{"id":48234838,"url":"https://github.com/digital-blueprint/bulletin-app","last_synced_at":"2026-04-04T19:53:51.617Z","repository":{"id":342285000,"uuid":"1173340500","full_name":"digital-blueprint/bulletin-app","owner":"digital-blueprint","description":"Student Job Portal app","archived":false,"fork":false,"pushed_at":"2026-04-02T13:43:00.000Z","size":1013,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-02T23:26:29.167Z","etag":null,"topics":["dbp","digital-blueprint"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/digital-blueprint.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-05T09:02:33.000Z","updated_at":"2026-04-02T13:43:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/digital-blueprint/bulletin-app","commit_stats":null,"previous_names":["digital-blueprint/jobportal-app","digital-blueprint/bulletin-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/digital-blueprint/bulletin-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digital-blueprint%2Fbulletin-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digital-blueprint%2Fbulletin-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digital-blueprint%2Fbulletin-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digital-blueprint%2Fbulletin-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/digital-blueprint","download_url":"https://codeload.github.com/digital-blueprint/bulletin-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digital-blueprint%2Fbulletin-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31411351,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T19:29:44.979Z","status":"ssl_error","status_checked_at":"2026-04-04T19:29:11.535Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["dbp","digital-blueprint"],"created_at":"2026-04-04T19:53:50.849Z","updated_at":"2026-04-04T19:53:51.609Z","avatar_url":"https://github.com/digital-blueprint.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bulletin Application\n\n[GitHub Repository](https://github.com/digital-blueprint/bulletin-app) |\n[npmjs package](https://www.npmjs.com/package/@digital-blueprint/bulletin-app) |\n[Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/bulletin-app/)\n\n[![Build, Test and Publish](https://github.com/digital-blueprint/bulletin-app/actions/workflows/build-test-publish.yml/badge.svg)](https://github.com/digital-blueprint/bulletin-app/actions/workflows/build-test-publish.yml)\n\nManagement of job offers.\n\n## Prerequisites\n\n- You need the [API server](https://gitlab.tugraz.at/dbp/relay/dbp-relay-server-template) running\n- You need the [DbpRelayBulletinBundle](https://github.com/digital-blueprint/relay-bulletin-bundle) for the API server to persist and fetch submissions\n\n## Local development\n\n```bash\n# get the source\ngit clone git@github.com:digital-blueprint/bulletin-app.git\ncd bulletin-app\ngit submodule update --init\n\n# install dependencies\nnpm install\n\n# constantly build dist/bundle.js and run a local web-server on port 8001\nnpm run watch\n\n# constantly build dist/bundle.js and run a local web-server on port 8001 using a custom assets directory assets_local/\nnpm run watch-local\n\n# run tests\nnpm test\n```\n\nJump to \u003chttps://localhost:8001\u003e, and you should get a Single Sign On login page.\n\n## Using this app as pre-built package\n\n### Install app\n\nIf you want to install the dbp bulletin app in a new folder `bulletin-app` you can call:\n\n```bash\nnpx @digital-blueprint/cli install-app bulletin bulletin-app /\n```\n\n**Warning:** There may be issues when you run these commands as root user, best use a non-root user, like `www-data`.\nTo do this you can for example open a shell with `runuser -u www-data -- bash`.\n\nAfterwards, you can point your Apache web-server to `bulletin-app/public`.\n\nMake sure you are allowing `.htaccess` files in your Apache configuration.\n\nAlso make sure to add all of your resources you are using (like your API and Keycloak servers) to the\n`Content-Security-Policy` in your `bulletin-app/public/.htaccess`, so the browser allows access to those sites.\n\nYou can also use this app directly from the [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/bulletin-app/)\nfor example like this: [dbp-bulletin/index.html](https://github.com/digital-blueprint/bulletin-app/tree/main/examples/dbp-bulletin/index.html)\n\nNote that you will need a Keycloak server along with a client id for the domain you are running this html on.\n\n### Update app\n\nIf you want to update the dbp bulletin app in the current folder you can call:\n\n```bash\nnpx @digital-blueprint/cli update-app bulletin\n```\n\n**Warning:** There may be issues when you run these commands as root user, best use a non-root user, like `www-data`.\nTo do this you can for example open a shell with `runuser -u www-data -- bash`.\n\n## Activities\n\nThis app has the following activities:\n\n- `dbp-bulletin-view-job-offers`\n- `dbp-bulletin-manage-job-offers`\n\nYou can find the documentation of the activity in the [bulletin activities documentation](https://github.com/digital-blueprint/bulletin-app/tree/main/src).\n\n## Adapt app\n\n### Functionality\n\nYou can add multiple attributes to the `\u003cdbp-bulletin\u003e` tag.\n\n| attribute name          | value   | description                                                                                                   |\n| ----------------------- | ------- | ------------------------------------------------------------------------------------------------------------- |\n| `provider-root`         | Boolean | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/app-shell)             |\n| `lang`                  | String  | [language-select](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/language-select) |\n| `entry-point-url`       | String  | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/app-shell)             |\n| `keycloak-config`       | Object  | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/app-shell)             |\n| `base-path`             | String  | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/app-shell)             |\n| `src`                   | String  | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/app-shell)             |\n| `html-overrides`        | String  | [common](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/common)                   |\n| `themes`                | Array   | [theme-switcher](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/theme-switcher)   |\n| `darkModeThemeOverride` | String  | [theme-switcher](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/theme-switcher)   |\n\n#### Mandatory attributes\n\nIf you are not using the `provider-root` attribute to \"terminate\" all provider attributes\nyou need to manually add these attributes so that the topic will work properly:\n\n```html\n\u003cdbp-bulletin auth requested-login-status analytics-event\u003e\u003c/dbp-bulletin\u003e\n```\n\n### Design\n\nFor frontend design customizations, such as logo, colors, font, favicon, and more, take a look at the [theming documentation](https://dbp-demo.tugraz.at/dev-guide/frontend/theming/).\n\n## \"dbp-bulletin\" slots\n\nThese are common slots for the app-shell. You can find the documentation of these slots in the [app-shell documentation](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/app-shell).\nFor the app specific slots take a look at the [bulletin activities](https://github.com/digital-blueprint/bulletin-app/tree/main/src).\n\n## Notice\n\nWe use autogenerated table headers for creating submission tables.\n\nA [get query](https://api-demo.tugraz.at/#operations-Bulletin-getBulletinSubmissionItem) is made to dbp-relay.\nThis returns JSON. The JSON contains various data from previously submitted entries.\n\nTo post a form to the API, take a look at: [operations-Bulletin-postBulletinSubmissionCollection](https://api-demo.tugraz.at/#operations-Bulletin-postBulletinSubmissionCollection).\nThis request contains the form name (`form`) and the form data (`dataFeedElement`). The data must be valid JSON as a string, i.e. quotation marks must be escaped with `\\\"`.\nThe data keys of forms with the same `form` name must be consistent; otherwise, new keys are not displayed and old table headers may become inconsistent.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigital-blueprint%2Fbulletin-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigital-blueprint%2Fbulletin-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigital-blueprint%2Fbulletin-app/lists"}