https://github.com/interstella0/gfl-ze-watcher
Show GFL ZE data for my own needs.
https://github.com/interstella0/gfl-ze-watcher
gis javascript poem-api qgis reactjs rust statistic
Last synced: 2 months ago
JSON representation
Show GFL ZE data for my own needs.
- Host: GitHub
- URL: https://github.com/interstella0/gfl-ze-watcher
- Owner: InterStella0
- License: mit
- Created: 2025-02-01T06:04:33.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-21T14:15:42.000Z (about 1 year ago)
- Last Synced: 2025-06-21T15:26:50.938Z (about 1 year ago)
- Topics: gis, javascript, poem-api, qgis, reactjs, rust, statistic
- Language: JavaScript
- Homepage: https://gflgraph.prettymella.site/
- Size: 6.22 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# ZE Graph Website

This track all CS2 Zombie Escape related servers that Iām aware of, allowing you to view player playtime on each server.
It was originally created to monitor only the GFL Zombie Escape server, but has since expanded to include several
servers in the western community. Chinese servers are not tracked due to technical limitations on their servers. Only GFL and
Mapeadores servers provide Steam IDs, enabling consistent tracking of individual players. Other servers rely solely
on player names for tracking. Any request for me to track your own server, you can contact me through the provided email
address on the website.
The [website](https://zegraph.xyz/) is hosted on a smol vps, be nice :)
This is codebase is purely for displaying data from the database. Itself does
not store the player data and webscraping. Those are hidden. If you wish to host your own, you would need to implement
your own datascraping mechanism.
## How it works
```mermaid
flowchart LR
%% Frontend
subgraph FE["š Frontend"]
direction TB
Website("The Website")
end
%% Backend & GIS
subgraph BE["š„ļø Backend Services"]
direction TB
Backend("Backend")
QGIS("QGIS Server")
ProfileProvider("Profile Picture Provider")
end
%% Scraper & Database
subgraph DSDB["šļø Scraper & Database"]
direction TB
DataScraper("Data Scraper (Hidden)")
Database[("PostgreSQL")]
end
%% External services
subgraph EX["š External Services"]
direction TB
ExternalProfileProvider("External Profile Provider")
SteamAPI("Steam API")
GFLAPI("GFL API")
SteamA2s("Steam A2S")
GFLBans("GFLBans")
Vauff("Vauff.com")
S2ZE("s2ze.com")
YouTube("Youtube API v3")
MusicNames("GitHub Music-Names")
end
%% Connections with higher contrast arrows
Website ==> Backend
QGIS == WMS ==> Website
Database == PostGIS ==> QGIS
Backend ==>|Write Only| Database
Database ==>|Heavy Query| Backend
Backend ==> Website
DataScraper ==> Database
Database ==> DataScraper
ProfileProvider ==>|Image URL| Backend
SteamAPI ==> ProfileProvider
ExternalProfileProvider ==> ProfileProvider
SteamAPI ==>|Location| DataScraper
GFLAPI ==>|Match Score & Misc data| DataScraper
MusicNames ==>|Map Music| DataScraper
YouTube ==>|Map Music Video| DataScraper
SteamA2s ==>|Players & Map| DataScraper
GFLBans ==>|Players & Infraction| DataScraper
Vauff ==>|Map Images| Backend
S2ZE ==>|Map Metadata| Backend
%% GitHub-friendly styles with high contrast and rounded borders
classDef fe fill:#e1f5fe,stroke:#0277bd,stroke-width:2px,color:#000000
classDef be fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#000000
classDef db fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px,color:#000000
classDef ex fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,color:#000000
%% Apply styling to nodes
class Website fe
class Backend,QGIS,ProfileProvider be
class DataScraper,Database db
class ExternalProfileProvider,MusicNames,YouTube,SteamAPI,SteamA2s,GFLBans,Vauff,S2ZE,GFLAPI ex
%% Style subgraphs with rounded corners
style FE fill:#e1f5fe,stroke:#0277bd,stroke-width:2px,color:#000000
style BE fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#000000
style DSDB fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px,color:#000000
style EX fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,color:#000000
```
## Preview









