Skip to content

Commit

Permalink
docs: update main README
Browse files Browse the repository at this point in the history
  • Loading branch information
elf-pavlik committed Oct 18, 2023
1 parent d6438f8 commit 11bb826
Showing 1 changed file with 37 additions and 64 deletions.
101 changes: 37 additions & 64 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

0 comments on commit 11bb826

Please sign in to comment.