{"id":49571493,"url":"https://github.com/r3morce/rleu-api","last_synced_at":"2026-05-03T14:31:45.299Z","repository":{"id":325641856,"uuid":"1101895136","full_name":"r3morce/rleu-api","owner":"r3morce","description":"A lightweight Go API that provides filtered European rocket launch data from ThespaceDevs","archived":false,"fork":false,"pushed_at":"2025-11-22T13:26:44.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-22T15:13:57.373Z","etag":null,"topics":["api","europe","european-launches","golang","middleware","rest-api","space","thespacedevs"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/r3morce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-22T12:47:19.000Z","updated_at":"2025-11-22T13:26:47.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/r3morce/rleu-api","commit_stats":null,"previous_names":["r3morce/rleu-api"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/r3morce/rleu-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3morce%2Frleu-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3morce%2Frleu-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3morce%2Frleu-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3morce%2Frleu-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r3morce","download_url":"https://codeload.github.com/r3morce/rleu-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3morce%2Frleu-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32573320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","europe","european-launches","golang","middleware","rest-api","space","thespacedevs"],"created_at":"2026-05-03T14:31:44.590Z","updated_at":"2026-05-03T14:31:45.294Z","avatar_url":"https://github.com/r3morce.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rocket Launch EU API\n\n[![Go Version](https://img.shields.io/badge/Go-1.25-00ADD8?style=flat\u0026logo=go)](https://golang.org)\n[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](LICENSE)\n[![API](https://img.shields.io/badge/API-ThespaceDevs-orange?style=flat\u0026logo=rocket)](https://thespacedevs.com/)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)](CONTRIBUTING.md)\n\nGo REST API for upcoming European rocket launch data with authentication and location filtering.\n\n\u003e **⚠️ Development API Notice**\n\u003e This project currently uses the ThespaceDevs **development API** (`lldev.thespacedevs.com`).\n\u003e **Not intended for production use.** For production deployments, switch to the production API endpoint and obtain a proper API key from [ThespaceDevs](https://thespacedevs.com/).\n\n## Quick Start\n\n```bash\n# 1. Clone and setup\ngit clone git@github.com:r3morce/rleu-api.git\ncd rleu-api\ncp .env.example .env\n\n# 2. Generate API key\nuuidgen  # Copy the output\n\n# 3. Edit .env and add your key\nRLEU_API_KEY=your-key-here\n\n# 4. Run\ngo run ./cmd/server\n\n# 5. Test (use your actual key)\ncurl -H \"Authorization: Bearer YOUR_API_KEY\" http://localhost:8080/launches\n```\n\n## Setup\n\n### Requirements\n- Go 1.16+ ([download](https://go.dev/dl/))\n\n### Configuration\n\nCreate `.env` file:\n```bash\nRLEU_API_KEY=your-generated-uuid-here  # Required for auth\nDEBUG=false                             # Set to true to skip auth\n```\n\nEdit `config/config.yaml` for API settings:\n```yaml\napi:\n  limit: 5                    # Number of launches to fetch\n\nserver:\n  port: 8080                  # Server port\n\neuropean_pads:\n  enabled: true               # Filter European launches only\n```\n\n## Build \u0026 Run\n\n```bash\n# Development (with hot reload)\ngo run ./cmd/server\n\n# Production build\ngo build -o rleu-api ./cmd/server\n./rleu-api\n\n# Debug mode (no authentication)\nDEBUG=true go run ./cmd/server\n```\n\n## API Usage\n\n### Authentication\n\nInclude API key in Authorization header:\n```bash\ncurl -H \"Authorization: Bearer YOUR_API_KEY\" http://localhost:8080/launches\n```\n\n### Endpoints\n\n**GET /launches** - Get upcoming launches\n- Returns 5 upcoming launches\n- European filtering if enabled in config\n- Requires authentication (unless DEBUG=true)\n\nResponse:\n```json\n{\n  \"count\": 1,\n  \"results\": [{\n    \"id\": \"...\",\n    \"name\": \"Falcon 9 | Starlink\",\n    \"net\": \"2025-11-22T23:41:00Z\",\n    \"status\": { \"name\": \"Go for Launch\" }\n  }]\n}\n```\n\n## Development\n\n### Debug Mode\n```bash\nDEBUG=true ./rleu-api\ncurl http://localhost:8080/launches  # No auth needed\n```\n\nDebug features:\n- ✓ Authentication disabled\n- ✓ API throttle monitoring\n- ✓ Detailed logging\n\n**⚠️ Never use DEBUG=true in production**\n\n### Project Structure\n```\nrleu-api/\n├── cmd/server/main.go       # HTTP server \u0026 auth\n├── internal/launches/       # API client \u0026 models\n├── config/                  # Configuration\n└── .env                     # Your secrets (git-ignored)\n```\n\n## Deployment\n\n### Fly.io (Recommended)\n\nDeploy to Fly.io with automatic HTTPS and European hosting:\n\n```bash\n# 1. Install Fly CLI\ncurl -L https://fly.io/install.sh | sh\n\n# 2. Login\nfly auth login\n\n# 3. Launch app (follow prompts)\nfly launch\n\n# 4. Set your API key as a secret\nfly secrets set RLEU_API_KEY=your-generated-uuid-here\n\n# 5. Deploy\nfly deploy\n\n# 6. Check status\nfly status\n\n# Your API will be available at: https://rleu-api.fly.dev\n```\n\n**Configuration:**\n- Region: Amsterdam (`ams`) - European data center\n- Auto HTTPS with Let's Encrypt certificates\n- Auto-scaling: scales to zero when idle (free tier friendly)\n- Health checks on `/launches` endpoint\n\n**Update deployment:**\n```bash\nfly deploy\n```\n\n**View logs:**\n```bash\nfly logs\n```\n\n### Docker\n\n**With Docker Compose (recommended for local development):**\n\n```bash\n# Start (reads .env file automatically)\ndocker-compose up\n\n# Start in background\ndocker-compose up -d\n\n# View logs\ndocker-compose logs -f\n\n# Stop\ndocker-compose down\n\n# Rebuild and start\ndocker-compose up --build\n```\n\n**With Docker directly:**\n\n```bash\n# Build\ndocker build -t rleu-api .\n\n# Run\ndocker run -p 8080:8080 -e RLEU_API_KEY=your-key-here rleu-api\n\n# Run in debug mode\ndocker run -p 8080:8080 -e RLEU_API_KEY=your-key-here -e DEBUG=true rleu-api\n```\n\n**Test:**\n```bash\ncurl -H \"Authorization: Bearer your-key-here\" http://localhost:8080/launches\n```\n\n---\n\n**Data:** [ThespaceDevs Launch Library](https://thespacedevs.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr3morce%2Frleu-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fr3morce%2Frleu-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr3morce%2Frleu-api/lists"}