This web app is a tool for negotiating interpersonal relationships.
The site is a Vue.js app hosted on Cloudflare
Pages. The client app is in this repo
under ./client/
.
The backend is a Cloudflare Worker
which stores session state in Cloudflare
KV. The worker is in this repo under
./worker/
.
The list of questions is defined in a JSON document which is used to dynamically build the input form
A self-hosted instance of Umami is used to provide privacy-preserving analytics.
To run the app locally, you'll need to spin up a local instance of the worker.
It must be running on port 8787
.
cd ./worker/
npm install
npx wrangler dev
Then you can start the local dev server.
cd ./client/
npm install
npm run dev
The client app and backend worker are automatically deployed to the dev
environment on pushes to main
and to the prod environment on pushes to prod
.
To deploy the worker manually, run:
cd ./worker/
npm install
npx wrangler deploy --env dev
npx wrangler deploy --env prod
You can build the client app locally like this:
cd ./client/
npm install
npm run build
Copyright © 2024 Wren Powell
This 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.
This 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.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.