Pixie log the backlog api
  • Rust 83.8%
  • HTML 13.3%
  • CSS 1.1%
  • Shell 0.8%
  • PLpgSQL 0.6%
  • Other 0.4%
Find a file
Jonatas Oliveira 377c26663a
Some checks failed
ci/woodpecker/push/pipeline/1 Pipeline failed
ci/woodpecker/push/pipeline/2 Pipeline failed
feat(gog): add rate limiting for platform sync
- Add check_rate_limit() to enforce 5 syncs per 24 hours per platform
- Add log_sync() to track sync operations in platform_sync_log table
- Add db field to PlatformSyncService for direct database access
- Update all test cases to include db parameter
- Import AppError for error handling in rate limit functions
2026-04-10 13:07:11 +02:00
.cargo build: fix ci erros 2026-03-26 10:27:19 +01:00
.githooks build: fix ci erros 2026-03-26 10:27:19 +01:00
.sqlx feat(enrichment): add fallback to IGDB and TGDB when MobyGames not found 2026-04-09 14:10:13 +02:00
.woodpecker build: fix build tests in woodpecker 2026-03-13 18:18:01 +01:00
migrations refactor: fix tests and features with not found data 2026-04-09 13:05:58 +02:00
scripts build: improve config docker 2026-03-13 14:11:48 +01:00
src feat(gog): add rate limiting for platform sync 2026-04-10 13:07:11 +02:00
static feat: connect steam and gog, for import games user 2026-03-12 09:12:55 +01:00
templates feat(admin): add Django-style table management interface 2026-04-10 12:55:25 +02:00
test-results feat: screenshots in library, steam wishlist sync, improved search 2026-03-20 08:57:05 +01:00
tests refactor: fix tests and features with not found data 2026-04-09 13:05:58 +02: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.example feat: add bunnynet and mobygames 2026-03-24 20:00:58 +01:00
.gitignore chore: remove generated/local files from tracking, update gitignore 2026-03-20 09:23:34 +01:00
.pre-commit-config.yaml feat: add library e improve profile 2026-02-25 10:32:43 +01:00
app.json feat: FEAT-H Game Detail Page with analytics endpoints 2026-04-08 15:49:19 +02:00
Cargo.toml fix: performance issues e mapeamento de plataforma 2026-04-10 12:25:40 +02: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
fix_migration.sql fix(profile): correct game ID in profile page links 2026-04-09 13:50:20 +02: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

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