Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CONTRIBUTING.md → .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Bevor du Änderungen vorschlägst, stelle bitte sicher, dass du Folgendes beacht

Wenn du Fragen hast oder Hilfe brauchst, kontaktiere uns gerne:

📧 Mail: [development@oppro-network.de](mailto:development@oppro-network.de)
📧 Mail: [development@managerx-bot.de](mailto:development@managerx-bot.de)
🌐 Projektseite: [https://github.com/Oppro-net-Development/ManagerX](https://github.com/Oppro-net-Development/ManagerX)
💬 Discord: https://discord.gg/ddAneB8nAu

Expand Down
File renamed without changes.
File renamed without changes.
24 changes: 19 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@
<a href="https://github.com/Oppro-net-Development/ManagerX/commits/main">
<img src="https://img.shields.io/github/last-commit/Oppro-net-Development/ManagerX?style=for-the-badge&logo=git&logoColor=white&color=F05032&label=Last%20Commit" alt="Last Commit">
</a>

<a href="LICENSE">
<a href=".github/LICENSE">
<img src="https://img.shields.io/badge/License-GPL--3.0-blue?style=for-the-badge&logo=opensourceinitiative&logoColor=white" alt="License">
</a>
</p>
Expand All @@ -34,8 +33,6 @@
<img src="https://img.shields.io/badge/SQLite-3-003B57?style=flat-square&logo=sqlite&logoColor=white" alt="SQLite">
<img src="https://img.shields.io/github/issues/Oppro-net-Development/ManagerX?style=flat-square&logo=github&logoColor=white" alt="Issues">
<img src="https://img.shields.io/github/stars/Oppro-net-Development/ManagerX?style=flat-square&logo=github&logoColor=white&color=FFD700" alt="Stars">
<img src="https://img.shields.io/github/forks/Oppro-net-Development/ManagerX?style=flat-square&logo=github&logoColor=white&color=00D26A" alt="Forks">
<a href="https://www.codefactor.io/repository/github/managerx-development/managerx"><img src="https://www.codefactor.io/repository/github/managerx-development/managerx/badge" alt="CodeFactor" /></a>
</p>

<br>
Expand All @@ -58,6 +55,23 @@

---

## 📁 Projektstruktur

```text
ManagerX/
├── 📂 .github/ # GitHub Config & Metadaten (License, Contributing)
├── 📂 config/ # Bot-Konfiguration (.env, config.yaml)
├── 📂 data/ # Dynamische Daten & Datenbanken
├── 📂 src/
│ ├── 📂 bot/ # Python Bot Core & Cogs
│ ├── 📂 api/ # FastAPI Dashboard Backend
│ └── 📂 web/ # React Dashboard Frontend
├── 📜 main.py # Haupteinstiegspunkt
└── 📜 vite.config.ts # Web Build Konfiguration
```

---

## 📦 Quick Install

<table>
Expand Down Expand Up @@ -100,7 +114,7 @@ pip install ManagerX[all]
<p align="center">
<a href="#-installation"><b>📥 Detaillierte Installation</b></a> •
<a href="#-features"><b>✨ Features</b></a> •
<a href="https://docs.oppro-network.de"><b>📖 Dokumentation</b></a> •
<a href="https://docs.managerx-bot.de"><b>📖 Dokumentation</b></a> •
<a href="#-support--community"><b>💬 Support</b></a>
</p>

Expand Down
1 change: 0 additions & 1 deletion __init__.py

This file was deleted.

2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ readme = "README.md"
requires-python = ">=3.8"
license = {text = "GPL-3.0-or-later"}
authors = [
{name = "OPPRO.NET Development", email = "development@oppro-network.de"},
{name = "OPPRO.NET Network", email = "contact@oppro-network.de"}
{name = "OPPRO.NET Development", email = "development@managerx-bot.de"},
{name = "OPPRO.NET Network", email = "contact@managerx-bot.de"}
]
classifiers = [
"Programming Language :: Python :: 3.8",
Expand Down Expand Up @@ -51,8 +51,8 @@ dependencies = [

[project.urls]
Homepage = "https://github.com/Oppro-net-Development/ManagerX"
Documentation = "https://docs.oppro-network.de/"
Changelog = "https://docs.oppro-network.de/en/latest/releases/index.html"
Documentation = "https://docs.managerx-bot.de/"
Changelog = "https://docs.managerx-bot.de/en/latest/releases/index.html"
BugTracker = "https://github.com/Oppro-net-Development/ManagerX/issues"

[project.optional-dependencies]
Expand Down
4 changes: 2 additions & 2 deletions src/bot/core/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,5 @@

# --- Texte ---
AUTHOR = "ManagerX Network"
FLOOTER = "Powered by OPPRO.NET Network" # Typo im Original ("FLOOTER"), behalte es für Kompatibilität oder korrigiere es
FOOTER = "Powered by OPPRO.NET Network"
FLOOTER = "Powered by ManagerX Development" # Typo im Original ("FLOOTER"), behalte es für Kompatibilität oder korrigiere es
FOOTER = "Powered by ManagerX Development"
2 changes: 1 addition & 1 deletion src/bot/core/dashboard.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class DashboardTask:
def __init__(self, bot, basedir: Path):
self.bot = bot
self.basedir = basedir
self.stats_file = basedir / 'bot_stats.json'
self.stats_file = basedir / 'data' / 'bot_stats.json'
self._task = None

# Task definieren
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion src/web/components/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ export const Footer = memo(function Footer() {
{/* column 2 */}
<div className="flex flex-col gap-6">
<span className="text-xs font-black uppercase tracking-[0.4em] text-transparent bg-clip-text bg-gradient-to-r from-primary to-accent mb-2">Ressourcen</span>
<a href="https://docs.oppro-network.de/" target="_blank" rel="noopener noreferrer" className="text-sm text-muted-foreground hover:text-white transition-all font-bold group flex items-center justify-center md:justify-start gap-3">
<a href="https://docs.managerx-bot.de/" target="_blank" rel="noopener noreferrer" className="text-sm text-muted-foreground hover:text-white transition-all font-bold group flex items-center justify-center md:justify-start gap-3">
<ExternalLink className="w-4 h-4 text-accent" />
<span className="group-hover:translate-x-1 transition-transform">Documentation</span>
</a>
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
16 changes: 8 additions & 8 deletions src/web/pages/Datenschutz.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@ export const Datenschutz = memo(function Datenschutz() {
key={section.id}
onClick={() => scrollToSection(section.id)}
className={`w-full flex items-center gap-3 px-4 py-3 rounded-xl transition-all duration-300 group text-sm font-semibold border ${activeSection === section.id
? "bg-primary/10 text-primary border-primary/20 shadow-lg shadow-primary/5"
: "text-slate-400 hover:text-slate-200 hover:bg-white/5 border-transparent"
? "bg-primary/10 text-primary border-primary/20 shadow-lg shadow-primary/5"
: "text-slate-400 hover:text-slate-200 hover:bg-white/5 border-transparent"
}`}
>
<section.icon className={`w-4 h-4 transition-transform group-hover:scale-110 ${activeSection === section.id ? "text-primary" : "text-slate-500"
Expand Down Expand Up @@ -149,16 +149,16 @@ export const Datenschutz = memo(function Datenschutz() {

<Section id="controller" title="2. Verantwortliche Stelle">
<div className="p-8 rounded-3xl bg-white/5 border border-white/5 space-y-4">
<p className="font-black text-white text-2xl tracking-tight uppercase italic underline decoration-primary/30">OPPRO.NET Network</p>
<p className="font-black text-white text-2xl tracking-tight uppercase italic underline decoration-primary/30">ManagerX Development Network</p>
<div className="space-y-1 text-base text-slate-400 font-medium">
<p className="text-white font-bold">Lenny Steiger</p>
<p>Eulauer Str. 24</p>
<p>04523 Pegau, Deutschland</p>
<div className="h-px w-12 bg-white/10 my-4" />
<p>
E-Mail:{" "}
<a href="mailto:contact@oppro-network.de" className="text-primary hover:underline font-bold">
contact@oppro-network.de
<a href="mailto:contact@managerx-bot.de" className="text-primary hover:underline font-bold">
contact@managerx-bot.de
</a>
</p>
</div>
Expand Down Expand Up @@ -253,7 +253,7 @@ export const Datenschutz = memo(function Datenschutz() {

<Section id="rights" title="9. Ihre Rechte">
<p>Sie haben das Recht auf Auskunft, Berichtigung, Löschung und Widerspruch.</p>
<p className="mt-8 text-sm italic">Senden Sie uns eine E-Mail an <span className="text-primary font-bold">legal@oppro-network.de</span>.</p>
<p className="mt-8 text-sm italic">Senden Sie uns eine E-Mail an <span className="text-primary font-bold">legal@managerx-bot.de</span>.</p>
</Section>

<Section id="complaints" title="10. Beschwerderecht">
Expand Down Expand Up @@ -286,8 +286,8 @@ export const Datenschutz = memo(function Datenschutz() {
<div className="relative z-10">
<Mail className="w-16 h-16 text-primary mx-auto mb-6" />
<h4 className="text-4xl font-black text-white uppercase italic tracking-tighter mb-4">Privacy Support</h4>
<a href="mailto:legal@oppro-network.de" className="text-2xl text-slate-400 hover:text-white transition-colors underline underline-offset-8 decoration-primary/40">
legal@oppro-network.de
<a href="mailto:legal@managerx-bot.de" className="text-2xl text-slate-400 hover:text-white transition-colors underline underline-offset-8 decoration-primary/40">
legal@managerx-bot.de
</a>
<p className="mt-12 text-[10px] uppercase font-black tracking-[0.5em] text-slate-600">© 2026 ManagerX Development</p>
</div>
Expand Down
14 changes: 7 additions & 7 deletions src/web/pages/Impressum.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ export const Impressum = memo(function Impressum() {
Impres<span className="text-transparent bg-clip-text bg-gradient-to-r from-primary to-accent">sum</span>
</h1>
<p className="text-xl text-slate-400 font-medium max-w-2xl leading-relaxed">
Angaben gemäß § 5 DDG. ManagerX ist ein privates Open-Source-Projekt von OPPRO.NET.
Angaben gemäß § 5 DDG. ManagerX ist ein privates Open-Source-Projekt von ManagerX Development.
</p>
</header>

Expand All @@ -146,14 +146,14 @@ export const Impressum = memo(function Impressum() {
<div className="grid gap-6">
<div className="p-8 rounded-3xl bg-[#111318] border border-white/5">
<p className="text-[10px] font-black uppercase tracking-widest text-slate-500 mb-2">E-Mail</p>
<a href="mailto:contact@oppro-network.de" className="text-xl font-black text-white hover:text-primary transition-all underline decoration-primary/30 underline-offset-4">
contact@oppro-network.de
<a href="mailto:contact@managerx-bot.de" className="text-xl font-black text-white hover:text-primary transition-all underline decoration-primary/30 underline-offset-4">
contact@managerx-bot.de
</a>
</div>
<div className="p-8 rounded-3xl bg-[#111318] border border-white/5">
<p className="text-[10px] font-black uppercase tracking-widest text-slate-500 mb-2">Legal Support</p>
<a href="mailto:legal@oppro-network.de" className="text-xl font-black text-white hover:text-primary transition-all underline decoration-primary/30 underline-offset-4">
legal@oppro-network.de
<a href="mailto:legal@managerx-bot.de" className="text-xl font-black text-white hover:text-primary transition-all underline decoration-primary/30 underline-offset-4">
legal@managerx-bot.de
</a>
</div>
</div>
Expand Down Expand Up @@ -195,8 +195,8 @@ export const Impressum = memo(function Impressum() {
<div className="relative z-10">
<Mail className="w-16 h-16 text-primary mx-auto mb-6" />
<h4 className="text-4xl font-black text-white uppercase italic tracking-tighter mb-4">Support</h4>
<a href="mailto:contact@oppro-network.de" className="text-2xl text-slate-400 hover:text-white transition-colors underline underline-offset-8 decoration-primary/40">
contact@oppro-network.de
<a href="mailto:contact@managerx-bot.de" className="text-2xl text-slate-400 hover:text-white transition-colors underline underline-offset-8 decoration-primary/40">
contact@managerx-bot.de
</a>
<p className="mt-12 text-[10px] uppercase font-black tracking-[0.5em] text-slate-600">Stand: Februar 2026 • © ManagerX Development</p>
</div>
Expand Down
18 changes: 9 additions & 9 deletions src/web/pages/Nutzungsbedingungen.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@ export const Nutzungsbedingungen = memo(function Nutzungsbedingungen() {
key={section.id}
onClick={() => scrollToSection(section.id)}
className={`w-full flex items-center gap-3 px-4 py-3 rounded-xl transition-all duration-300 group text-sm font-semibold border ${activeSection === section.id
? "bg-primary/10 text-primary border-primary/20 shadow-lg shadow-primary/5"
: "text-slate-400 hover:text-slate-200 hover:bg-white/5 border-transparent"
? "bg-primary/10 text-primary border-primary/20 shadow-lg shadow-primary/5"
: "text-slate-400 hover:text-slate-200 hover:bg-white/5 border-transparent"
}`}
>
<section.icon className={`w-4 h-4 transition-transform group-hover:scale-110 ${activeSection === section.id ? "text-primary" : "text-slate-500"
Expand All @@ -110,7 +110,7 @@ export const Nutzungsbedingungen = memo(function Nutzungsbedingungen() {
<div className="p-6 rounded-3xl bg-gradient-to-br from-primary/10 to-transparent border border-primary/10 shadow-2xl">
<h4 className="text-white font-bold mb-2">Need help?</h4>
<p className="text-xs text-slate-400 mb-4 leading-relaxed">Unser Team steht für rechtliche Fragen zur Verfügung.</p>
<a href="mailto:legal@oppro-network.de" className="inline-flex items-center gap-2 text-xs font-black uppercase tracking-widest text-primary hover:text-white transition-colors">
<a href="mailto:legal@managerx-bot.de" className="inline-flex items-center gap-2 text-xs font-black uppercase tracking-widest text-primary hover:text-white transition-colors">
Contact Legal <ArrowLeft className="w-3 h-3 rotate-180" />
</a>
</div>
Expand All @@ -133,7 +133,7 @@ export const Nutzungsbedingungen = memo(function Nutzungsbedingungen() {
</h1>
<p className="text-xl text-slate-400 font-medium max-w-2xl leading-relaxed">
Bitte lesen Sie diese Bedingungen sorgfältig durch, bevor Sie ManagerX nutzen.
Sie regeln die rechtliche Beziehung zwischen Ihnen und OPPRO.NET.
Sie regeln die rechtliche Beziehung zwischen Ihnen und ManagerX Development.
</p>
<div className="mt-8 flex items-center gap-6 opacity-40">
<div className="flex flex-col">
Expand Down Expand Up @@ -221,7 +221,7 @@ export const Nutzungsbedingungen = memo(function Nutzungsbedingungen() {
</Section>

<Section id="content-ip" title="7. Geistiges Eigentum">
<p>Die Markenrechte an ManagerX, die Logos, das Design und die Web-UI liegen bei OPPRO.NET Network.</p>
<p>Die Markenrechte an ManagerX, die Logos, das Design und die Web-UI liegen bei ManagerX Development Network.</p>
<p className="mt-4">Der Quellcode des Bots ist unter der <span className="text-white font-bold uppercase tracking-widest text-xs">GNU GPL v3.0</span> lizenziert.</p>
</Section>

Expand All @@ -239,11 +239,11 @@ export const Nutzungsbedingungen = memo(function Nutzungsbedingungen() {
</Section>

<Section id="liability" title="11. Haftungsbeschränkung">
<p>Soweit gesetzlich zulässig, haftet OPPRO.NET oder dessen Entwickler nicht für indirekte Schäden, Datenverluste oder Server-Konflikte, die durch die Nutzung des Bots entstehen.</p>
<p>Soweit gesetzlich zulässig, haftet ManagerX Development oder dessen Entwickler nicht für indirekte Schäden, Datenverluste oder Server-Konflikte, die durch die Nutzung des Bots entstehen.</p>
</Section>

<Section id="indemnity" title="12. Freistellung">
<p>Sie erklären sich damit einverstanden, OPPRO.NET von allen Forderungen freizustellen, die sich aus Ihrer Nutzung des Dienstes oder Ihrer Verletzung dieser Bedingungen ergeben.</p>
<p>Sie erklären sich damit einverstanden, ManagerX Development von allen Forderungen freizustellen, die sich aus Ihrer Nutzung des Dienstes oder Ihrer Verletzung dieser Bedingungen ergeben.</p>
</Section>

<Section id="changes" title="13. Änderungen">
Expand All @@ -254,8 +254,8 @@ export const Nutzungsbedingungen = memo(function Nutzungsbedingungen() {
<p>Bei rechtlichen Anfragen erreichen Sie uns unter:</p>
<div className="mt-8 p-10 rounded-[2.5rem] bg-[#111318] border border-primary/20 text-center">
<Mail className="w-12 h-12 text-primary mx-auto mb-4" />
<a href="mailto:legal@oppro-network.de" className="text-2xl font-black text-white hover:text-primary transition-colors underline decoration-primary/30">
legal@oppro-network.de
<a href="mailto:legal@managerx-bot.de" className="text-2xl font-black text-white hover:text-primary transition-colors underline decoration-primary/30">
legal@managerx-bot.de
</a>
<p className="mt-4 text-slate-500 font-bold tracking-widest uppercase text-[10px]">ManagerX Legal Department</p>
</div>
Expand Down
2 changes: 1 addition & 1 deletion src/web/pages/Status.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ const Status = memo(function Status() {
<p>Überprüfung erfolgt alle 15 Sekunden via FastAPI-Endpoint.</p>
</div>
<div className="flex gap-3">
<a href="mailto:support@oppro.net" className="p-3 glass rounded-xl hover:text-primary transition-colors border border-white/5" title="Email">
<a href="mailto:support@managerx-bot.de" className="p-3 glass rounded-xl hover:text-primary transition-colors border border-white/5" title="Email">
<Mail className="w-5 h-5" />
</a>
<a href="https://github.com/ManagerX-Development" className="p-3 glass rounded-xl hover:text-primary transition-colors border border-white/5" title="GitHub">
Expand Down
8 changes: 4 additions & 4 deletions vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ export default defineConfig(({ mode }) => ({
reportCompressedSize: false,
rollupOptions: {
input: {
main: path.resolve(__dirname, "index.html"),
datenschutz: path.resolve(__dirname, "datenschutz.html"),
impressum: path.resolve(__dirname, "impressum.html"),
agb: path.resolve(__dirname, "agb.html"),
main: path.resolve(__dirname, "src/web/index.html"),
datenschutz: path.resolve(__dirname, "src/web/datenschutz.html"),
impressum: path.resolve(__dirname, "src/web/impressum.html"),
agb: path.resolve(__dirname, "src/web/agb.html"),
},
},
},
Expand Down