[BREAKGLASS] Sticker Pack Creator Web App
Go to file
2024-04-15 16:25:16 +02:00
build/package Art creator service 2023-04-24 09:56:23 -07:00
cmd/artd Art creator service 2023-04-24 09:56:23 -07:00
internal/pkg Update go-redis to v9 2024-03-10 09:44:40 -05:00
protos Art creator service 2023-04-24 09:56:23 -07:00
web update web, go dependencies 2024-04-15 16:25:16 +02:00
.gitignore Art creator service 2023-04-24 09:56:23 -07:00
go.mod update web, go dependencies 2024-04-15 16:25:16 +02:00
go.sum update web, go dependencies 2024-04-15 16:25:16 +02:00
LICENSE Art creator service 2023-04-24 09:56:23 -07:00
README.md Art creator service 2023-04-24 09:56:23 -07:00

Signal-Art-Creator

This is a service for running create.signal.art.

Building

This project is consists of a backend service written in Go, and front-end in TypeScript. In order to run both on a server, the front-end code has to be built first:

cd web
npm install
npm run build
cd -

...and then embedded into the go executable:

go build -o ./artd ./cmd/artd

Running

The resulting executable file can be started to run full service locally:

./artd config.yaml

Running against staging/production server

It is also possible to run the front-end code against an already deployed backend service:

cd web
npm install
npm run dev

This will start a local web server on https://localhost:5173/, and a proxy server that would map http://localhost:5173/api/* to a deployed backend.

The URL of the backend can be configured by editing the "server" section of ./web/vite.config.ts. As an example, here is a configuration for running the front-end against the production server:

server: {
  proxy: {
    '/api/socket': {
      secure: true,
      target: 'wss://create.signal.art',
      changeOrigin: true,
      headers: {
        origin: 'https://create.signal.art',
      },
    },
    '/api': {
      secure: true,
      target: 'https://create.signal.art',
      changeOrigin: true,
    },
  },
},

Configuration

A sample configuration:

bucket: "<s3BucketName>"
region: "<region>"
authSecret: "<sharedAuthSecret>"
uploadURL: "<s3UploadUrl>"
redisClusterURI: "<redisClusterUri>"
rateLimiter:
  bucketName: "<ratelimiterBucketName>"
  bucketSize: 10
  leakRatePerMinute: 1
provisioning:
  pubSubPrefix: "<prefix>"
  origin: "https://create.signal.art"