{"id":13991859,"url":"https://github.com/thenativeweb/wolkenkit-boards","last_synced_at":"2025-07-22T14:32:26.589Z","repository":{"id":24841764,"uuid":"101901810","full_name":"thenativeweb/wolkenkit-boards","owner":"thenativeweb","description":"wolkenkit-boards is a team collaboration application.","archived":false,"fork":false,"pushed_at":"2023-03-01T09:22:58.000Z","size":3475,"stargazers_count":250,"open_issues_count":19,"forks_count":8,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-08-10T14:07:14.311Z","etag":null,"topics":["cqrs","ddd","event-sourcing","javascript","nodejs","wolkenkit"],"latest_commit_sha":null,"homepage":"https://www.wolkenkit.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thenativeweb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-08-30T16:01:54.000Z","updated_at":"2024-08-10T05:56:26.000Z","dependencies_parsed_at":"2024-01-18T03:48:40.685Z","dependency_job_id":null,"html_url":"https://github.com/thenativeweb/wolkenkit-boards","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thenativeweb%2Fwolkenkit-boards","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thenativeweb%2Fwolkenkit-boards/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thenativeweb%2Fwolkenkit-boards/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thenativeweb%2Fwolkenkit-boards/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thenativeweb","download_url":"https://codeload.github.com/thenativeweb/wolkenkit-boards/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227124026,"owners_count":17734244,"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","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":["cqrs","ddd","event-sourcing","javascript","nodejs","wolkenkit"],"created_at":"2024-08-09T14:01:38.266Z","updated_at":"2024-11-29T12:30:51.304Z","avatar_url":"https://github.com/thenativeweb.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# wolkenkit-boards\n\nwolkenkit-boards is a tool for collaboratively organizing notes.\n\n![wolkenkit-boards](images/preview.gif \"wolkenkit-boards\")\n\nIt allows you to mount public and private boards and attach notes and images to them. Its backend is powered by [wolkenkit](https://www.wolkenkit.io/).\n\n## What is wolkenkit?\n\n\u003e wolkenkit is a CQRS and event-sourcing framework for JavaScript and Node.js. wolkenkit uses an event-driven model based on DDD to setup an API for your business in no time. This way, wolkenkit bridges the language gap between your domain and technology.\n\u003e\n\u003e [wolkenkit.io](https://www.wolkenkit.io/)\n\nFor more details on wolkenkit see the [wolkenkit documentation](https://docs.wolkenkit.io).\n\n## Preparing the application\n\nAs wolkenkit-boards uses authentication, you first need to setup an identity provider. In this section we are going to configure [Auth0](https://auth0.com), but you can use any identity provider - as long as it supports OpenID Connect.\n\n### Setting up the identity provider\n\nNow, create an account at Auth0. For your first steps, the free plan is fine, so there is no need to add your credit card right now.\n\nOnce you have created your account you need to register a client application that represents your instance of wolkenkit-boards:\n\n- Login to Auth0, which takes you to the dashboard.\n- Click `Clients` in the navigation.\n- Click `Create client`.\n- Select `Single Page Applications`.\n- Add `http://local.wolkenkit.io:8080/` to the list of `Allowed Callback URLs`.\n\n### Getting the required information\n\nIn the view that shows your client, you can find the `Client ID`. Copy its value, you will need it later.\n\nAdditionally, you need to get the certificate for your client:\n\n- In the `Clients` view, scroll down, and click `Show Advanced Settings`.\n- Scroll to the `Certificates` section and copy the contents of the `Signing Certificate` field.\n- Paste the copied content into the `server/keys/auth0/certificate.pem` file.\n\n## Running the application\n\nTo run a wolkenkit application, you first need to install the dependencies of wolkenkit, such as Node.js and Docker. For this, see the installation guide for [macOS](https://docs.wolkenkit.io/latest/getting-started/installing-wolkenkit/installing-on-macos/), [Linux](https://docs.wolkenkit.io/latest/getting-started/installing-wolkenkit/installing-on-linux/), [Windows](https://docs.wolkenkit.io/latest/getting-started/installing-wolkenkit/installing-on-windows/), or [Docker Machine](https://docs.wolkenkit.io/latest/getting-started/installing-wolkenkit/installing-using-docker-machine/).\n\n### Installing the dependencies\n\nEverything you need to run the backend is preconfigured in the dependencies of the project. Install them using npm:\n\n```shell\n$ npm install\n```\n\nYou can now use the local version of the wolkenkit CLI to control the backend. For example to list all the available wolkenkit commands, run:\n\n```shell\n$ npx wolkenkit --help\n```\n\n### Running the backend\n\nBefore you can actually start the backend, you need to adjust the `identityProvider` section in the application's `package.json` file. Set its `name` property to the domain of your Auth0 account, so that it looks like this:\n\n```json\n\"identityProvider\": {\n  \"name\": \"https://\u003cusername\u003e.eu.auth0.com/\",\n  \"certificate\": \"/server/keys/auth0\"\n}\n```\n\nFinally, now it's time to run the backend. For that, run the `start` command using the wolkenkit CLI from inside the application's directory:\n\n```shell\n$ npx wolkenkit start\n```\n\n### Running the frontend\n\nOnce the backend is running you are almost ready to run the frontend. First, change to the `client` directory and install any missing dependencies:\n\n```shell\n$ cd ./client\n$ npm install\n```\n\n[roboter](https://github.com/thenativeweb/roboter) is used for build automation. Set the environment variables `AUTH_IDENTITY_PROVIDER_URL` and `AUTH_CLIENT_ID` accordingly, and then run `npx roboter serve`:\n\n```shell\n$ AUTH_IDENTITY_PROVIDER_URL=https://\u003cusername\u003e.eu.auth0.com/authorize AUTH_CLIENT_ID=\u003cclientid\u003e npx roboter serve\n```\n\nAfter a short time, the frontend is running at `http://local.wolkenkit.io:8080/`. Point your browser to this url, identify yourself, and start to mount boards and pin some posts!\n\n## License\n\nCopyright (c) 2015-2019 the native web.\n\nThis program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License along with this program. If not, see [GNU Licenses](http://www.gnu.org/licenses/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthenativeweb%2Fwolkenkit-boards","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthenativeweb%2Fwolkenkit-boards","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthenativeweb%2Fwolkenkit-boards/lists"}