74 lines
1.9 KiB
Markdown
74 lines
1.9 KiB
Markdown
|
|
# puzzle
|
||
|
|
|
||
|
|
This is a multiplayer puzzle game running in the browser.
|
||
|
|
See a live version at [jigsaw.hyottoko.club].
|
||
|
|
|
||
|
|
# Get Started
|
||
|
|
|
||
|
|
Note: node `^14.17.0` and npm `^7.14.0` are required. You can try with
|
||
|
|
lower versions, but it may not work.
|
||
|
|
|
||
|
|
## Quick start
|
||
|
|
|
||
|
|
This will install the dependencies, execute build and start the server.
|
||
|
|
```sh
|
||
|
|
./run start
|
||
|
|
```
|
||
|
|
|
||
|
|
## Manual start
|
||
|
|
|
||
|
|
There are other `run` scripts:
|
||
|
|
|
||
|
|
command | explanation
|
||
|
|
---------------------|----------------------------------------
|
||
|
|
`./run install` | installs dependencies and sets up a config if none exists
|
||
|
|
`./run build` | builds the sources
|
||
|
|
`./run server` | runs the server with built files
|
||
|
|
`./run tests` | runs tests
|
||
|
|
`./run start` | combination of `install`, `build` and `server`
|
||
|
|
`./run dev-server` | runs the dev server (from unbuilt files)
|
||
|
|
`./run dev-frontend` | runs the dev frontend (with hmr and such)
|
||
|
|
`./run ts [...ARGS]` | run `node`, but with ts files. eg `./run ts scripts/import_images.ts`
|
||
|
|
|
||
|
|
## Dev
|
||
|
|
|
||
|
|
For development it makes sense to run both `dev-server` and `dev-frontend`
|
||
|
|
in separate shells.
|
||
|
|
|
||
|
|
```sh
|
||
|
|
./run dev-server
|
||
|
|
./run dev-frontend
|
||
|
|
```
|
||
|
|
|
||
|
|
The dev-frontend script will output something like:
|
||
|
|
```
|
||
|
|
vite v2.3.3 dev server running at:
|
||
|
|
|
||
|
|
> Local: http://localhost:3000/
|
||
|
|
> Network: use `--host` to expose
|
||
|
|
|
||
|
|
ready in 465ms.
|
||
|
|
```
|
||
|
|
|
||
|
|
Try opening the url that is output.
|
||
|
|
The frontend will proxy the following to the dev server:
|
||
|
|
|
||
|
|
- api
|
||
|
|
- image serving
|
||
|
|
- image uploading
|
||
|
|
|
||
|
|
The frontend on its own will have hot module reload (HMR) available
|
||
|
|
in this mode. Try changing a file inside `src/frontend` and see it
|
||
|
|
update without running an extra command.
|
||
|
|
|
||
|
|
The server will restart when a change is made on the server code.
|
||
|
|
|
||
|
|
Then open the url output by the dev-frontend command, eg. http://localhost:3000.
|
||
|
|
|
||
|
|
## Database
|
||
|
|
|
||
|
|
The database will automatically created in `data/db.sqlite`.
|
||
|
|
|
||
|
|
|
||
|
|
[jigsaw.hyottoko.club]: https://jigsaw.hyottoko.club
|