-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d6438f8
commit 11bb826
Showing
1 changed file
with
37 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,97 +7,70 @@ | |
|
||
Modules implementing [Solid Application Interoperability Specification](https://solid.github.io/data-interoperability-panel/specification/) | ||
|
||
## Development | ||
|
||
Requires node.js 18 or higher. ([Volta](https://volta.sh/) may help with managing node versions) | ||
|
||
### Github packages | ||
|
||
- generate [github token](https://github.com/settings/tokens) ( only `packages:read` scope) | ||
- Modify `~/.npmrc` ([per-user config file](https://docs.npmjs.com/cli/v7/configuring-npm/npmrc#per-user-config-file)) | ||
and add line `//npm.pkg.github.com/:_authToken=` and the generated token. | ||
|
||
### Bootstrapping | ||
|
||
```bash | ||
pnpm install | ||
pnpx turbo run build | ||
pnpx turbo run test | ||
``` | ||
|
||
## Intended dependents | ||
|
||
| | package | | ||
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | | ||
| Solid Applications | [`@janeirodigital/interop-application`](https://github.com/janeirodigital/sai-js/tree/main/packages/application) | | ||
| Solid Authorization Agent | [`@janeirodigital/interop-authorization-agent`](https://github.com/janeirodigital/sai-js/tree/main/packages/authorization-agent) | | ||
|
||
## Demo setup | ||
## Development | ||
|
||
Install node and yarn with [Volta](https://volta.sh/) | ||
### Docker | ||
|
||
```bash | ||
volta install node@16 | ||
volta install node@18 | ||
volta install yarn@1 | ||
``` | ||
Default setup assumes `docker` command available, and runs it as non-root user. | ||
It only uses [official redis image](https://hub.docker.com/_/redis) for the authorization agent service. | ||
|
||
Create workspace directory and enter it | ||
### Node, corepack and pnpm | ||
|
||
Requires node.js 20 or higher with corepack ([Volta](https://volta.sh/) may help with managing node versions). | ||
Uses pnpm as package manager. | ||
|
||
```bash | ||
mkdir sai | ||
cd sai | ||
volta install node@20 | ||
volta install corepack | ||
corepack prepare pnpm@latest --activate | ||
``` | ||
|
||
Clone repositories | ||
### Github packages | ||
|
||
```bash | ||
git clone https://github.com/janeirodigital/sai-js.git | ||
git clone https://github.com/janeirodigital/sai-impl-web.git | ||
git clone https://github.com/hackers4peace/projectron.git | ||
``` | ||
- generate [github token](https://github.com/settings/tokens) ( only `packages:read` scope) | ||
- Modify `~/.npmrc` ([per-user config file](https://docs.npmjs.com/cli/v7/configuring-npm/npmrc#per-user-config-file)) | ||
and add line `//npm.pkg.github.com/:_authToken=` and the generated token. | ||
|
||
Run Redis with docker. | ||
It is recommended to delete and recreate _sai-redis_ container before each working session. It prevents problems with expired OIDC tokens. | ||
### Bootstrapping | ||
|
||
```bash | ||
docker run --name sai-redis -p 6379:6379 -d redis | ||
pnpm install | ||
pnpx turbo run build | ||
pnpx turbo run test | ||
pnpx turbo run dev | ||
``` | ||
|
||
[Add github packages](#github-packages) and [Bootstrap sai-js monorepo](#bootstrapping) | ||
It will run following: | ||
|
||
Run Community Solid Server, by default it will run on `localhost:3000` | ||
#### Community Solid Server | ||
|
||
```bash | ||
cd sai-js/packages/css-storage-fixture | ||
yarn start | ||
``` | ||
Run from [packages/css-solid-fixture](https://github.com/janeirodigital/sai-js/tree/main/packages/css-storage-fixture). | ||
Used for solid storage instances and solid-oidc provider. | ||
|
||
Run Authorization Agent Service, by default it will run on `localhost:4000` | ||
It is recommended to restart it any time generated authorization data gets manually discarded or deleted. | ||
Available on http://localhost:3000, default demo account is `[email protected]` with `password`. | ||
|
||
```bash | ||
cd sai-js/packages/service | ||
yarn start | ||
``` | ||
#### Authorization Agent | ||
|
||
Run Authorization Agent Web frontend, by default it will run on `localhost:4200` | ||
##### Service | ||
|
||
```bash | ||
cd sai-impl-web | ||
yarn install | ||
yarn start | ||
``` | ||
Run from [packages/service](https://github.com/janeirodigital/sai-js/tree/main/packages/service). | ||
Available on http://localhost:4000 (API only) | ||
|
||
Open http://localhost:4200, Log in using default provider and with `[email protected]` & `password`. | ||
Connect to server. | ||
##### UI | ||
|
||
Run Projectron demo application, by default it will run on `localhost:4300` | ||
Run from [ui/authorization](https://github.com/janeirodigital/sai-js/tree/main/ui/authorization). | ||
Available on http://localhost:4200 , requires signing up with UI first and later signing up in with the service (_Connect server_). | ||
Dev config uses local CSS as default provider when input left empty. | ||
|
||
```bash | ||
cd projectron | ||
yarn install | ||
yarn start | ||
``` | ||
#### Demo app (Vujectron) | ||
|
||
Open http://localhost:4300, Log in using default provider and request authorization. | ||
Run from [examples/vuejectron](https://github.com/janeirodigital/sai-js/tree/main/examples/vuejectron). | ||
Available on http://localhost:4500 , requires signup and authorization. | ||
Dev config uses local CSS as default provider when input left empty. |