Skip to content

PoracleWeb.NET

A web application for managing Pokemon GO notification alarms through the Poracle bot system. Compatible with both PoracleJS and PoracleNG. Users authenticate via Discord OAuth2 or Telegram and configure personalized alert filters (Pokemon, Raids, Quests, Invasions, Lures, Nests, Gyms) through a browser-based UI.

Tech Stack

Layer Technology
Backend .NET 10, ASP.NET Core Web API, EF Core with MySQL (Oracle provider)
Frontend Angular 21, Angular Material 21 (Material Design 3), Leaflet maps
Auth Discord OAuth2, Telegram Bot Login, JWT bearer tokens
Testing Jest (frontend), xUnit (backend)
CI/CD GitHub Actions, Docker (ghcr.io)

Features

  • Alarm Management — Create, edit, and delete filters for Pokemon, Raids, Quests, Invasions, Lures, Nests, and Gyms
  • Gym Picker — Search and target specific gyms for team, raid, and egg alarms with photo thumbnails and area names
  • Bulk Operations — Multi-select alarms with bulk delete and bulk distance update
  • Quick Picks — Admin-defined alarm templates users can apply with one click
  • Area Management — Interactive Leaflet map for selecting geofence areas
  • Custom Geofences — Draw custom polygon geofences on a map, served to PoracleJS via a built-in feed endpoint. Submit for admin review to promote to public areas.
  • Geofence Admin Review — Approve or reject user-submitted geofences with Discord forum integration
  • Profile Switching — Multiple alarm profiles per user
  • Discord Notification Preview — Live preview of DTS templates with Handlebars evaluation
  • Dark/Light Mode — Theme toggle with localStorage persistence
  • Accent Themes — Customizable toolbar and UI accent colors (Pokemon, Raids, Mystic, Valor, Instinct)
  • Responsive Design — Full mobile support with fullscreen dialogs and collapsible sidebar
  • Onboarding Wizard — First-run setup guide for new users
  • Keyboard Shortcuts? for help, [ / ] for sidebar collapse
  • 18 Languages — Pokemon name localization
  • Poracle Server Management — Monitor health and restart PoracleJS instances remotely
  • Admin Panel — User management, webhook configuration, site settings, geofence submission review

Prerequisites

Requirement Version Purpose
MySQL 5.7+ or 8.0+ Poracle database (existing Poracle installation)
Poracle PoracleJS or PoracleNG Running instance with REST API enabled. All alarm writes are proxied through the Poracle API.
Discord App OAuth2 application for user authentication
Koji Geofence management server (required for custom geofences feature)
.NET SDK 10.0 Backend development (not needed for Docker)
Node.js 22+ Frontend development (not needed for Docker)
Docker 20+ Production deployment

Credits

PoracleWeb.NET stands on the shoulders of these projects and their authors:

Project Author Role
PoracleJS KartulUdus The original Poracle bot — the notification engine this UI manages
PoracleNG jfberry Next-generation fork whose REST API powers all alarm tracking
PoracleWeb (PHP) bbdoc The original PHP web interface that inspired this .NET rewrite
Kōji TurtIeSocks Geofence management platform used for admin areas, region detection, and public geofence promotion