Generate Sudoku puzzles with arbitrary region sizes and clue counts using Donald Knuth's Algorithm X, exposed as a GraphQL API.
Go to file
Matt Low 8526dcd083 optimize generate()
Before we masked all except the removed cell rows, then unmasked all
rows on every removal attempt.

Now, we mask all except the removed cell rows once each attempt in an
order such that we can simply unmask the last (values - 1) rows to try
the next cell. An unmask/remask cycle is only required when a removal
attempt fails.
2021-03-03 23:15:55 -07:00
src optimize generate() 2021-03-03 23:15:55 -07:00
.dockerignore initial commit 2021-02-19 23:55:49 -07:00
.gitignore initial commit 2021-02-19 23:55:49 -07:00
Dockerfile Update Dockerfile 2021-02-25 11:30:20 -07:00
package-lock.json Update tsconfig, package.json to run in full ESM mode 2021-02-25 00:30:09 -07:00
package.json Update tsconfig, package.json to run in full ESM mode 2021-02-25 00:30:09 -07:00
README.md initial commit 2021-02-19 23:55:49 -07:00
tsconfig.json Update tsconfig, package.json to run in full ESM mode 2021-02-25 00:30:09 -07:00

BlueBlog API

A GraphQL blogging API.

Features

  • Username/Password JWT based authentication
  • Blog posts and client-side encrypted journal entries
  • Obfuscated IDs via hashids
  • Drafts for both of the above
  • Blog post edit history

Environment Variables:

# The secret used for JWT signatures creation and verification
SECRET=my-super-secret

# So hashids are unique
HASHIDS_SALT=salty

# PostgreSQL connection params
DB_HOST=localhost
DB_NAME=blueblog
DB_USER=blueblog
DB_PASSWORD=password
DB_PORT=5432

# Application startup PostgresSQL connection attempts & retry delay
DB_CONNECT_ATTEMPTS=6
DB_CONNECT_RETRY_DELAY=5

# Service responds at http://localhost:$LISTEN_PORT/graphql
LISTEN_PORT=4000