86 lines
2.2 KiB
Markdown
86 lines
2.2 KiB
Markdown
# toolkit
|
|
|
|
A collection of browser-based tools for developers.
|
|
No server, no tracking, no external dependencies — everything runs locally in your browser.
|
|
|
|
## Tools
|
|
|
|
| Route | Description |
|
|
|--------------|------------------------------------------------------------------|
|
|
| `/` | About |
|
|
| `/object-id` | MongoDB ObjectId generator & parser |
|
|
| `/uuid` | UUID v1/v4/v6/v7 generator & parser |
|
|
| `/hash` | MD5, SHA-1, SHA-256, SHA-512 |
|
|
| `/cron` | Interactive crontab expression builder with presets |
|
|
| `/api-key` | High-entropy API key generator (hex, base62, base64url, …) |
|
|
| `/json` | Prettify, compact, tab-indent, validate JSON |
|
|
| `/base` | Encode & decode Base64, Base64url, Base32, Base58, Base16 |
|
|
| `/string` | String transforms: lower, UPPER, snake_case, camelCase, … |
|
|
|
|
## Stack
|
|
|
|
- [SvelteKit 2](https://kit.svelte.dev) + [Svelte 5](https://svelte.dev)
|
|
- JavaScript with JSDoc — no TypeScript
|
|
- No runtime dependencies
|
|
|
|
---
|
|
|
|
## Development
|
|
|
|
```sh
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
App runs at `http://localhost:5173`.
|
|
|
|
## Production build
|
|
|
|
```sh
|
|
npm run build
|
|
node build # listens on PORT (default 3000)
|
|
```
|
|
|
|
## Type check
|
|
|
|
```sh
|
|
npm run check
|
|
```
|
|
|
|
---
|
|
|
|
## Deploy with Docker
|
|
|
|
### Build and run
|
|
|
|
```sh
|
|
docker build -t toolkit .
|
|
docker run -p 3000:3000 -e ORIGIN=http://localhost:3000 toolkit
|
|
```
|
|
|
|
### docker-compose
|
|
|
|
```sh
|
|
docker compose up -d
|
|
```
|
|
|
|
App runs at `http://localhost:3000`.
|
|
|
|
### Behind a reverse proxy
|
|
|
|
Set `ORIGIN` to your public URL in `docker-compose.yml`:
|
|
|
|
```yaml
|
|
environment:
|
|
- ORIGIN=https://your-domain.com
|
|
```
|
|
|
|
Then proxy traffic to port `3000`.
|
|
|
|
### Environment variables
|
|
|
|
| Variable | Default | Description |
|
|
|----------|------------|---------------------------------------|
|
|
| `PORT` | `3000` | Port the server listens on |
|
|
| `HOST` | `0.0.0.0` | Interface to bind |
|
|
| `ORIGIN` | — | Public URL (required in production) |
|