100.0.1 • Published 1 year ago

@moneypot/caas v100.0.1

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

@moneypot/caas

(caas = "controller as a server", a silly but hopefully memorable name.)

This library implements a controller server that manages users and balances across any number of Moneypot casinos.

You can use it to quickly create your own controller.

Example implementations:

  1. https://github.com/moneypot/wheel-controller/: A wheel of fortune game (frontend)
  2. https://github.com/moneypot/dice-controller/: A dice game (frontend)

Manual

View our docs: https://moneypot.com/docs/caas

Install

$ npm install @moneypot/caas

Usage

import { defaultPlugins, ServerOptions, startAndListen } from "@moneypot/caas";
import path from "path";

const options: ServerOptions = {
  // Name of the postgres schemas you're exposing to the GraphQL API (if any)
  extraPgSchemas: ["app"],
  plugins: [
    ...defaultPlugins,
    // And any custom plugins you've written
  ],
  // Where to save the GraphQL schema (derived from your database + plugins)
  exportSchemaSDLPath: path.join(import.meta.dirname, "../schema.graphql"),
  // Where your database migration files are located (if any)
  userDatabaseMigrationsPath: path.join(import.meta.dirname, "../pg-versions"),
};

startAndListen(options)
  .then(({ port }) => {
    console.log(`Listening on ${port}`);
  })
  .catch(console.error);

Development

To work on this library , there's a mini project in the ./demo directory that uses @moneypot/caas as a lib.

createdb caas_demo

Ensure this role exists:

CREATE ROLE app_postgraphile LOGIN PASSWORD 'pass';

Create .env:

DATABASE_URL="postgres://app_postgraphile:pass@localhost/caas_demo"
SUPERUSER_DATABASE_URL="postgres://app_superuser:pass@localhost/caas_demo"
GRAPHILE_ENV=development
NODE_ENV=development

Run the demo:

cd demo
npm install
npm run dev

The caas-demo server should be running at http://localhost:8888/graphql.

Dashboard development

To work on the ./dashboard react app, ensure that caas-demo is running.

Terminal 1: Run demo controller inside this repo's demo dir:

cd demo
npm run dev
# Listening on :8888

Terminal 2: Run dashboard project pointed at demo controller

cd dashboard
npm install
VITE_GRAPHQL_URL=http://localhost:8888/graphql npm run dev

Now visit the localhost url that it prints out.

(The VITE_GRAPHQL_URL override is necessary since the dashboard defaults to window.location.origin + "/graphql" as its api endpoint since it usually runs bundled with the caas server.)

Change log

  • 1.0.0: Initial release.
10.0.0

1 year ago

14.1.0

1 year ago

14.1.1

1 year ago

14.0.10

1 year ago

12.0.3

1 year ago

12.0.4

1 year ago

12.0.0

1 year ago

12.0.1

1 year ago

12.0.2

1 year ago

15.0.0-dev.1

1 year ago

15.0.0-dev.0

1 year ago

15.0.0-dev.3

1 year ago

15.0.0-dev.2

1 year ago

11.2.0

1 year ago

100.0.1

1 year ago

11.2.1

1 year ago

100.0.0

1 year ago

15.0.2

1 year ago

15.0.0

1 year ago

15.0.1

1 year ago

13.0.0

1 year ago

14.2.0

1 year ago

17.0.3

1 year ago

17.0.2

1 year ago

17.0.5

1 year ago

17.0.4

1 year ago

17.0.1

1 year ago

17.0.0

1 year ago

17.0.7

1 year ago

17.0.6

1 year ago

11.1.0

1 year ago

18.0.4

1 year ago

18.0.3

1 year ago

18.0.2

1 year ago

18.0.1

1 year ago

18.0.0

1 year ago

9.1.0

1 year ago

11.0.1

1 year ago

14.0.9

1 year ago

9.3.4

1 year ago

9.3.3

1 year ago

9.3.2

1 year ago

9.3.1

1 year ago

9.3.0

1 year ago

10.1.0

1 year ago

10.1.1

1 year ago

10.1.2

1 year ago

10.1.3

1 year ago

14.0.0

1 year ago

14.0.1

1 year ago

14.0.2

1 year ago

14.0.3

1 year ago

14.0.4

1 year ago

14.0.5

1 year ago

14.0.6

1 year ago

14.0.7

1 year ago

14.0.8

1 year ago

16.0.0-dev.5

1 year ago

16.0.0-dev.6

1 year ago

16.0.0-dev.3

1 year ago

16.0.0-dev.4

1 year ago

16.0.0-dev.1

1 year ago

12.1.0

1 year ago

16.0.0-dev.2

1 year ago

12.1.1

1 year ago

16.0.0-dev.0

1 year ago

9.2.0

1 year ago

16.0.1

1 year ago

16.0.0

1 year ago

8.1.0

1 year ago

9.0.0

1 year ago

8.0.0

1 year ago

6.1.0

2 years ago

6.1.1

2 years ago

7.3.0

1 year ago

7.1.0

2 years ago

7.6.2

1 year ago

7.6.1

1 year ago

7.6.0

1 year ago

7.6.3

1 year ago

7.0.0

2 years ago

7.4.0

1 year ago

7.2.1

2 years ago

7.2.0

2 years ago

7.0.2

2 years ago

7.0.1

2 years ago

7.5.3

1 year ago

7.5.2

1 year ago

7.5.1

1 year ago

7.5.0

1 year ago

7.5.6

1 year ago

7.5.5

1 year ago

7.5.4

1 year ago

5.0.2

2 years ago

5.0.1

2 years ago

5.0.0

2 years ago

6.0.1

2 years ago

6.0.0

2 years ago

4.2.7

2 years ago

4.2.6

2 years ago

4.2.3

2 years ago

4.2.2

2 years ago

4.2.5

2 years ago

4.2.4

2 years ago

4.2.1

2 years ago

4.1.10

2 years ago

4.1.11

2 years ago

4.1.8

2 years ago

4.1.9

2 years ago

4.1.7

2 years ago

4.1.4

2 years ago

4.1.3

2 years ago

4.1.6

2 years ago

4.1.5

2 years ago

4.1.2

2 years ago

4.1.0

2 years ago

4.0.1

2 years ago

4.0.0

2 years ago

4.1.1

2 years ago

1.2.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.2.6

2 years ago

1.2.5

2 years ago

3.0.0

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.3.0

2 years ago

1.2.1

2 years ago

2.2.1

2 years ago

2.2.0

2 years ago

2.1.0

2 years ago

2.0.0

2 years ago

1.0.0

2 years ago