https://github.com/cheatsnake/shadify
HTTP API for building puzzles
https://github.com/cheatsnake/shadify
api backend backend-api backend-service fiber games generator golang json-api puzzles server-side server-side-generation
Last synced: 2 months ago
JSON representation
HTTP API for building puzzles
- Host: GitHub
- URL: https://github.com/cheatsnake/shadify
- Owner: cheatsnake
- License: mit
- Created: 2022-06-25T15:37:54.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-11-23T12:11:29.000Z (over 1 year ago)
- Last Synced: 2026-01-15T20:23:55.148Z (2 months ago)
- Topics: api, backend, backend-api, backend-service, fiber, games, generator, golang, json-api, puzzles, server-side, server-side-generation
- Language: Go
- Homepage: https://shadify.yurace.pro
- Size: 944 KB
- Stars: 38
- Watchers: 1
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- public-apis - Shadify
- Public-APIs - **Shadify** - APIs/master/opensource.png "Open Source") | (APIs / Miscellaneous)
README
# Shadify

Shadify is a powerful REST API service provides a collection of different puzzle types, like crosswords, Sudoku, word search and so on. The API allows users to generate data for puzzles, check the correctness of solutions, and configure various parameters to change the difficulty of the puzzles.
## 📃 Documentation
All documentation is available on the [official website](https://shadify.yurace.pro).
The service is divided into independent modules. Each module starts with a brief description of what the module is oriented at (be it a game, a puzzle, a task, etc.). This is followed by a detailed description of each HTTP interface, with descriptions of the possible parameters and return responses.
- [Sudoku](https://shadify.yurace.pro/modules/sudoku.html)
- [Takuzu](https://shadify.yurace.pro/modules/takuzu.html)
- [Set](https://shadify.yurace.pro/modules/set.html)
- [Math](https://shadify.yurace.pro/modules/math.html)
- [Schulte](https://shadify.yurace.pro/modules/schulte.html)
- [Minesweeper](https://shadify.yurace.pro/modules/minesweeper.html)
- [Wordsearch](https://shadify.yurace.pro/modules/wordsearch.html)
- [Anagram](https://shadify.yurace.pro/modules/anagram.html)
- [Countries](https://shadify.yurace.pro/modules/countries.html)
- [Camp](https://shadify.yurace.pro/modules/camp.html)
- [Kuromasu](https://shadify.yurace.pro/modules/kuromasu.html)
- [Memory](https://shadify.yurace.pro/modules/memory.html)
> Translations: [`Russian`](https://github.com/cheatsnake/shadify/blob/master/README_RU.md#%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F)
## 🚀 Server startup
1. Clone this repository onto your computer:
```sh
git clone https://github.com/cheatsnake/shadify.git
```
2. Inside the project, run this command to install the necessary packages:
```sh
go mod download
```
> Make sure you have already [installed Go](https://go.dev) on your computer.
3. Start the server by running the last command:
```sh
go run cmd/server/main.go
```
> The server will start at the address http://localhost:5000
For easy testing, use a ready-made collection for [Insomnia](https://insomnia.rest). Open `Settings` > `Data` > `Import Data` > `From URL` and paste link to the [insomnia.shadify.json](./insomnia.shadify.json) file. Enjoy!
## 🐳 Docker container startup
- Running a Docker container for development (after any file changes, server will be restarts):
```sh
docker compose up
```
- Running a Docker container for production:
```sh
docker build -t shadify . --target prod
```
```sh
docker run --rm -p 5000:5000 --name shadify shadify
```
Made with ♥
LICENSE 2022-2023