Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/goatcorp/plugin-platform
https://github.com/goatcorp/plugin-platform
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/goatcorp/plugin-platform
- Owner: goatcorp
- License: agpl-3.0
- Created: 2022-08-18T21:53:21.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-09-21T04:26:00.000Z (over 2 years ago)
- Last Synced: 2024-04-23T03:45:35.321Z (8 months ago)
- Language: Go
- Size: 244 KB
- Stars: 3
- Watchers: 1
- Forks: 3
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# plugin-platform
(WIP) Dalamud plugin platform website for sharing presets and possibly also [this stuff](https://github.com/goatcorp/DIPs/issues/34).## Contributing
Dependencies:
* Node v16.14.0+
* Yarn v1.22.18+
* Go v1.19+Copy `/client/.env.example` into `/client/.env.local`.
Shell 1:
```sh
cd server
go run ./cmd/platform/main.go migrate up
go run ./cmd/platform/main.go serve
```Navigate to the admin UI and create an admin account. Create an application in the Discord Developer Portal and copy the application's client ID and client secret into the authentication settings in the admin UI. Make sure to add `http://YOUR_LOCALHOST_URL/oauth2/redirect` to the OAuth2 redirects.
Please use `localhost` for local development - do not use `0.0.0.0` since Discord doesn't support that.Shell 2:
```sh
cd client
yarn
yarn dev -- --open
```### OAuth2
Open up the admin UI at `http://127.0.0.1:8090/_/` and go to the **Settings** page. Under **Auth Providers**, select an
option other than **Email/Password** and add your application credentials from the provider. After the provider is enabled
and the changes are saved, the login page should show the provider as a login option.To add new login options, PR changes to [PocketBase](https://github.com/pocketbase/pocketbase) upstream.
### Adding data
Open up the admin UI and go to the **Collections** page. Select a collection and add a record.
Users can be added manually under the **Users** page, or by going through the standard registration process.### Frontend development
For most changes, refer to the [SvelteKit documentation](https://kit.svelte.dev/docs/introduction).### Backend development
For most changes, refer to the [PocketBase documentation](https://pocketbase.io/docs).### Schema modifications
Open up the admin UI and make your changes, then run:
```sh
cd server/pkg
go run ../cmd/platform/main.go --dir="../pb_data" migrate collections
```Note that PocketBase uses SQLite (though I suspect this can be customized at the expense of having to configure another database),
so certain features like schema-level permissions are not possible. These should instead be implemented through denormalization and
application-level permissions.Migrations can be applied by running:
```sh
cd server
go run ./cmd/platform/main.go migrate up
```