Pixie log the backlog api
  • HTML 55.5%
  • Rust 41.9%
  • CSS 1.5%
  • Shell 0.7%
  • Python 0.2%
  • Other 0.2%
Find a file
Jonatas Oliveira b0e50f0bcb
All checks were successful
ci/woodpecker/push/pipeline/1 Pipeline was successful
ci/woodpecker/push/pipeline/2 Pipeline was successful
fix: enrich library status endpoint with game name and cover_url
The /api/library/status/:status endpoint was returning plain UserGame
records without name or cover_url, and the "all" status filter was
doing a literal WHERE status = 'all' comparison (matching nothing).

- get_games_by_status now JOINs games table and returns EnrichedUserGame
- "all" is treated as no status filter via nullable SQL parameter
- Added sqlx offline cache entry for the new query

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 12:49:23 +01:00
.cargo build: add config for build in dokku 2026-02-11 16:32:29 +01:00
.sqlx fix: enrich library status endpoint with game name and cover_url 2026-03-18 12:49:23 +01:00
.woodpecker build: fix build tests in woodpecker 2026-03-13 18:18:01 +01:00
migrations feat: connect steam and gog, for import games user 2026-03-12 09:12:55 +01:00
report_hurl fix: enrich library status endpoint with game name and cover_url 2026-03-18 12:49:23 +01:00
scripts build: improve config docker 2026-03-13 14:11:48 +01:00
src fix: enrich library status endpoint with game name and cover_url 2026-03-18 12:49:23 +01:00
static feat: connect steam and gog, for import games user 2026-03-12 09:12:55 +01:00
templates feat: connect steam and gog, for import games user 2026-03-12 09:12:55 +01:00
tests feat: connect steam and gog, for import games user 2026-03-12 09:12:55 +01:00
.audit.toml feat: add games management 2026-01-05 14:06:00 +01:00
.buildpacks build: add config for build in dokku 2026-02-11 16:32:29 +01:00
.env feat: add goal and list. mail smtp configure 2026-01-07 10:02:29 +01:00
.env.example feat: add games management 2026-01-05 14:06:00 +01:00
.gitignore Initial commit 2026-01-05 05:19:07 +00:00
.pre-commit-config.yaml feat: add library e improve profile 2026-02-25 10:32:43 +01:00
app.json chore: add wait 60 in dokku config 2026-02-24 20:03:22 +01:00
Cargo.toml feat: add library e improve profile 2026-02-25 10:32:43 +01:00
debug_render.sh feat: add library e improve profile 2026-02-25 10:32:43 +01:00
docker-compose.yml fix: fix empty field to keyrunes 2026-02-27 13:26:32 +01:00
Dockerfile build: improve config docker 2026-03-13 14:11:48 +01:00
init_db.sh feat: add games management 2026-01-05 14:06:00 +01:00
LICENSE feat: add user management 2026-01-05 08:14:50 +01:00
parse_lcov.py feat: add games management 2026-01-05 14:06:00 +01:00
Procfile build: add config for build in dokku 2026-02-11 16:32:29 +01:00
README.md feat: add goal and list. mail smtp configure 2026-01-07 10:02:29 +01:00
rust-toolchain build: add config for build in dokku 2026-02-11 16:32:29 +01:00
server.log feat: connect steam and gog, for import games user 2026-03-12 09:12:55 +01:00
server_admin.log feat: connect steam and gog, for import games user 2026-03-12 09:12:55 +01:00
server_final.log feat: connect steam and gog, for import games user 2026-03-12 09:12:55 +01:00
test_output.txt fix: enrich library status endpoint with game name and cover_url 2026-03-18 12:49:23 +01:00
unit_test_final.log feat: connect steam and gog, for import games user 2026-03-12 09:12:55 +01:00
unit_test_final_full.log feat: connect steam and gog, for import games user 2026-03-12 09:12:55 +01:00
unit_test_run.log feat: connect steam and gog, for import games user 2026-03-12 09:12:55 +01:00

Pixie API

A Rust-based API for Pixielog, featuring Keyrunes authentication, email confirmation, and Femtocat-styled views.

Prerequisites

  • Rust (latest stable)
  • Docker and Docker Compose
  • Postgres client (optional, for debugging)

Configuration

The application requires the following environment variables. A .env file can be used locally.

Variable Description Example
DATABASE_URL Postgres connection string postgres://postgres:password@localhost:5432/pixielog
SMTP_URL SMTP server URL smtp://localhost:1025
KEYRUNES_URL Keyrunes service URL http://localhost:3000 (internal) or http://keyrunes:3000 (docker)
APP_URL Public URL of this app http://localhost:8000

Running the Application

1. Start Infrastructure

Start Postgres, Mailhog, and Keyrunes using Docker Compose:

docker-compose up -d

2. Initialize Keyrunes (First Run Only)

Setup superuser and organization in Keyrunes:

docker compose exec keyrunes sh /setup.sh

3. Run Database Migrations

Initialize the pixielog database schema:

sqlx migrate run

3. Run Locally (Development)

Start the API server:

cargo run

The server will be available at http://localhost:8000.

4. Run via Docker

To run the entire stack including the API in Docker (if a Dockerfile is provided, otherwise mostly used for deps):

docker-compose up -d

(Note: Ensure your config or env vars point to the keyrunes container name if running inside docker network)

Development

View Docs

Swagger UI is available at: http://localhost:8000/swagger-ui/

Running Tests

Run unit and integration tests:

# Unit tests
cargo test

# Hurl Integration tests (requires running server)
hurl --test tests/auth.hurl