Skip to content

wreakdev/pigeon-api

Repository files navigation

PigeonAPI

A lightweight, robust REST API for managing and voting pigeons

Features

  • Random Pigeon: Get a random pigeon ID for your feed.
  • Voting System: Cast votes (increase/decrease aura points) for your favorite pigeon.
  • Leaderboard: View top-rated pigeons with pagination support.
  • Anti-Spam: Built-in duplicate vote protection (429 you already voted).
  • Container Ready: Docker support included.
  • SQLite Storage: Light-speed data persistence without setting up heavy database servers.

Example usage

PigeonAPI is designed to be easily integrated into various platforms, including:

  • Discord bots
  • Telegram bots
  • Other custom services that require a simple, fast REST API

Quick Start

  1. Clone this repo:
git clone https://github.com/wreakdev/pigeon-api
cd pigeon-api
  1. Install dependencies:
pip install -r requirements.txt
  1. Run the server:
uvicorn server:pigeon --reload
  1. Access Documentation: Navigate to /docs

Docker

To run with Docker:

docker-compose up --build -d

Testing

Run tests using pytest

pytest -v

Contributing

Contributions are welcome! If you'd like to help improve pigeon-api, please read the CONTRIBUTING.md file to understand how to get started, report bugs, or submit your own pull requests.

About

A lightweight, robust REST API for managing and voting pigeons

Topics

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Contributors