πŸ“– Gorilla Sports Admin Tools

← Terug naar app

Gorilla Sports Admin Tools

Interne administratietool voor Gorilla Sports B.V.

Live: https://admin.gorillasports.nl


Overzicht

De Gorilla Sports Admin Tools is een self-hosted interne applicatie voor het beheren van:

Waarom deze tool?

Gorilla Sports werkt met een Duitse leverancier die maandelijks facturen stuurt. Deze tool helpt bij:

  1. Controle: Zijn de gefactureerde prijzen correct?
  2. Detectie: Zijn er prijswijzigingen in de nieuwe prijslijst?
  3. Goedkeuring: Dubbele check voordat prijzen worden aangepast
  4. Audit trail: Wie heeft wat wanneer goedgekeurd?

Functionaliteiten

βœ… GeΓ―mplementeerd

Dashboard

Authenticatie & Gebruikersbeheer

Data Uploads

🚧 Nog te bouwen


Gebruikers

Naam Email Rol Rechten
Mark mark@gorillasports.nl Admin Alles
Evert evert@gorillasports.nl Gebruiker Prijzen goedkeuren
Nadia nadia@gorillasports.nl Gebruiker Basis toegang

Rechten systeem


Technische Stack

Backend

Python 3.11Programmeertaal
FastAPIWeb framework
SQLAlchemy 2.0ORM (async)
SQLiteDatabase
bcryptWachtwoord hashing
python-joseJWT tokens

Frontend

Vanilla JavaScriptGeen framework
Lucide IconsIconen
DM SansFont

Styling (Brand Guide)


Infrastructuur & Deployment

Hosting

ProviderHetzner Cloud
ServerCPX22 (3 vCPU, 4GB RAM)
LocatieNuremberg, Duitsland
IP46.225.11.68
OSUbuntu 22.04

Deployment Stack

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Hetzner Cloud β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ Coolify β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ β”‚ β”‚ Traefik β”‚ β”‚ Gorilla Sports App β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ (Reverse β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Proxy) │──│ β”‚ FastAPI β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ (Python 3.11) β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ - SSL β”‚ β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ - Routing β”‚ β”‚ β”‚ SQLite DB β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Coolify

Coolify is een self-hosted PaaS (Platform as a Service) vergelijkbaar met Heroku.

GitHub Repository

Deployment Workflow

1. Developer pusht naar GitHub (main branch)
         ↓
2. GitHub webhook triggert Coolify
         ↓
3. Coolify pulled nieuwe code
         ↓
4. Docker image wordt gebouwd
         ↓
5. Container wordt (her)gestart
         ↓
6. Health check bevestigt deployment
         ↓
7. Traefik routeert verkeer naar nieuwe container

Lokale Ontwikkeling

Setup

# Clone repository
git clone https://github.com/mark-gorillasports/admin.git
cd admin

# Maak virtual environment
python3 -m venv venv
source venv/bin/activate

# Installeer dependencies
pip install -r requirements.txt

# Start development server
cd backend
python run.py

De app draait dan op: http://localhost:8000


Database

SQLite

De applicatie gebruikt SQLite als database. Dit is voldoende voor een interne tool met weinig concurrent users.

Locatie in container: /app/data/gorilla_tools.db

Modellen


API Documentatie

Base URL

Swagger Docs

Interactieve API documentatie: admin.gorillasports.nl/api/docs

Belangrijke Endpoints

MethodeEndpointBeschrijving
POST/auth/loginInloggen
POST/auth/logoutUitloggen
GET/auth/meHuidige gebruiker
GET/health/Systeem gezondheid
GET/products/Lijst producten
GET/orders/Lijst orders
GET/users/Lijst gebruikers
POST/uploads/shopify-productsUpload CSV

Toekomstige Features

Fase 2: Integraties

Fase 3: Factuurverificatie

4-check verificatie systeem:

  1. Order in maandelijks Excel overzicht?
  2. Order op periodieke factuur?
  3. Factuurprijs = Excel bedrag?
  4. Factuurprijs = Shopify kostprijs?

Fase 4: Automatisering


Changelog

v1.0.0 - 2026-01-24

Initial Release


Support

Ontwikkeld door: Mark van Dorp
Contact: mark@gorillasports.nl