Skip to content

Commit ac14eb4

Browse files
committed
Update netsoc/accounts documentation (96278bca)
1 parent fde7082 commit ac14eb4

File tree

2 files changed

+46
-0
lines changed

2 files changed

+46
-0
lines changed

docs/accounts/development.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Development
2+
3+
The Docker Compose file in this repo will create a full IAM deployment, as described in the
4+
[IAM documentation](../../iam/development/). Along with those components, both the frontend and backend will be deployed
5+
with hot-reload development servers. The UI will be accessible on http://localhost:3000 (the API is exposed separately
6+
on port 4242). **Be sure to copy `public/config.js` to `config.frontend.js` and make any desired changes.**
7+
8+
!!! tip
9+
Before starting the server, you should get some Stripe test keys in order to test Stripe transaction functionality.
10+
The secret key should be written to `.env` in the root of the repo as `STRIPE_PRIVATE_KEY`. The public key should be
11+
used as the value for `STRIPE_PUBLIC_KEY` in `config.frontend.js`.
12+
13+
<!-- TODO: Log in to Stripe and figure out exactly how this should be done -->
14+
You should also set up a webhook in the Stripe dashboard for the `/webhook` backend endpoint.
15+
16+
The backend
17+
is located under the `payments_server/` subdirectory and has its own production `Dockerfile` which is Node.js-based to
18+
run the payment API server. The root `Dockerfile` only "builds" the final JavaScript before resulting in a final image
19+
based on nginx which serves the static files. `Dockerfile.dev` serves as a hot-reload Node.js base image for both the
20+
frontend and backend.
21+
22+
This repo makes use of the `build.yaml`, `release.yaml`, `charts.yaml` and `docs.yaml` GitHub Actions workflows as
23+
described in the [IAM documentation](../iam/development/#github-actions). Note that `build.yaml` and `release.yaml` are
24+
building two separate Docker images in this case: one for the frontend and one for the backend.
25+
26+
## Maintenance
27+
28+
- New releases should be made in the same manner as for IAM (the `release.yaml` workflow)
29+
- When upgrading Node.js, keep in mind that the `Dockerfile`, `Dockerfile.dev` and `payments_server/Dockerfile` all need
30+
to be update individually

docs/accounts/index.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Introduction
2+
3+
A Vue.js-based web UI for managing [iamd](../iam/)-based user accounts, including processing payments for account
4+
renewals via Stripe. There is actually a small backend component which is responsible for validating Stripe transactions
5+
and using the IAM REST API to update user renewal status.
6+
7+
## Managing your account
8+
9+
To manage your account, visit the live deployment of the accounts UI at
10+
[accounts.netsoc.ie](https://accounts.netsoc.ie). Most common account management tasks should be fairly
11+
self-explanatory, but if you have any issues, feel free to [contact us](../contact/).
12+
13+
## Deployment
14+
15+
The UI and backend should generally be deployed via Helm chart. Be sure to set the `config.STRIPE_PUBLIC_KEY` on the
16+
frontend along with `secrets.stripePrivateKey` and `secrets.stripeEndpointSecret` in your values.

0 commit comments

Comments
 (0)