Änderung: Verbesserung der Redis-Integration und Aktualisierung der HTML-Metadaten

Änderungen:
- Die Redis-Client-Konfiguration wurde aktualisiert, um die Verwendung von Umgebungsvariablen für Passwort und URL zu unterstützen.
- Warnungen wurden hinzugefügt, um auf fehlende Authentifizierungsinformationen hinzuweisen.
- Die HTML-Dateien wurden um wichtige Metadaten wie Beschreibung, Open Graph- und Twitter-Tags erweitert, um die Sichtbarkeit und SEO zu verbessern.
- Eine Beta-Hinweis-Nachricht wurde in die NoLoginView.vue eingefügt, um Benutzer über den Entwicklungsstatus der Plattform zu informieren.

Diese Anpassungen erhöhen die Sicherheit der Redis-Verbindung und verbessern die Benutzererfahrung sowie die Auffindbarkeit der Anwendung.
This commit is contained in:
Torsten Schulz (local)
2025-09-11 16:55:40 +02:00
parent 1cad671b80
commit cdaaf7e515
6 changed files with 168 additions and 5 deletions

View File

@@ -6,15 +6,30 @@ const EXPIRATION_TIME = 30 * 60 * 1000;
const redisHost = process.env.REDIS_HOST || '127.0.0.1'; const redisHost = process.env.REDIS_HOST || '127.0.0.1';
const redisPort = process.env.REDIS_PORT || '6379'; const redisPort = process.env.REDIS_PORT || '6379';
const redisPassword = process.env.REDIS_PASSWORD || process.env.REDIS_PASS || undefined;
const redisUrl = process.env.REDIS_URL || `redis://${redisHost}:${redisPort}`;
if (!process.env.REDIS_HOST || !process.env.REDIS_PORT) { if (!process.env.REDIS_HOST || !process.env.REDIS_PORT) {
console.warn(`[redis] Verwende Fallback ${redisHost}:${redisPort}`); console.warn(`[redis] Verwende Fallback ${redisHost}:${redisPort}`);
} }
if (!process.env.REDIS_PASSWORD && !process.env.REDIS_PASS && !process.env.REDIS_URL) {
console.warn('[redis] Kein Passwort gesetzt (REDIS_PASSWORD/REDIS_PASS) und keine REDIS_URL vorhanden. Wenn der Server Auth erfordert, schlägt dies fehl.');
}
const redisClient = createClient({ const redisClient = createClient({
url: `redis://${redisHost}:${redisPort}`, url: redisUrl,
password: process.env.REDIS_PASSWORD, password: redisPassword,
legacyMode: false, legacyMode: false,
}); });
redisClient.on('error', (err) => {
if (typeof err?.message === 'string' && err.message.includes('NOAUTH')) {
console.error('[redis] Authentifizierungsfehler: Server verlangt Passwort. Bitte REDIS_PASSWORD/REDIS_PASS oder REDIS_URL setzen.');
} else {
console.error('[redis] Fehler:', err);
}
});
redisClient.connect().catch(console.error); redisClient.connect().catch(console.error);
const setUserSession = async (userId, sessionData) => { const setUserSession = async (userId, sessionData) => {

View File

@@ -3,7 +3,39 @@
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<title>YourPart</title> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>YourPart Community, Chat, Forum, Falukant & Minispiele</title>
<meta name="description" content="YourPart vereint Community, Chat, Forum, soziales Netzwerk mit Bildergalerie sowie das Aufbauspiel Falukant. Die Plattform befindet sich in der BetaPhase und wird laufend erweitert." />
<meta name="robots" content="index, follow" />
<link rel="canonical" href="https://www.your-part.de/" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="YourPart" />
<meta property="og:title" content="YourPart Community, Chat, Forum, Falukant & Minispiele" />
<meta property="og:description" content="Community, Chat, Forum, soziales Netzwerk und das Aufbauspiel Falukant jetzt in der Beta testen." />
<meta property="og:url" content="https://www.your-part.de/" />
<meta property="og:locale" content="de_DE" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="YourPart Community, Chat, Forum, Falukant & Minispiele" />
<meta name="twitter:description" content="Community, Chat, Forum, soziales Netzwerk und das Aufbauspiel Falukant jetzt in der Beta testen." />
<meta name="theme-color" content="#F9A22C" />
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "YourPart",
"url": "https://www.your-part.de/",
"inLanguage": "de",
"potentialAction": {
"@type": "SearchAction",
"target": "https://www.your-part.de/?q={search_term_string}",
"query-input": "required name=search_term_string"
}
}
</script>
</head> </head>
<body> <body>

View File

@@ -3,7 +3,21 @@
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<title>YourPart</title> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>YourPart Community, Chat, Forum, Falukant & Minispiele</title>
<meta name="description" content="YourPart vereint Community, Chat, Forum, soziales Netzwerk mit Bildergalerie sowie das Aufbauspiel Falukant. Die Plattform befindet sich in der BetaPhase und wird laufend erweitert." />
<meta name="robots" content="index, follow" />
<link rel="canonical" href="https://www.your-part.de/" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="YourPart" />
<meta property="og:title" content="YourPart Community, Chat, Forum, Falukant & Minispiele" />
<meta property="og:description" content="Community, Chat, Forum, soziales Netzwerk und das Aufbauspiel Falukant jetzt in der Beta testen." />
<meta property="og:url" content="https://www.your-part.de/" />
<meta property="og:locale" content="de_DE" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="YourPart Community, Chat, Forum, Falukant & Minispiele" />
<meta name="twitter:description" content="Community, Chat, Forum, soziales Netzwerk und das Aufbauspiel Falukant jetzt in der Beta testen." />
<meta name="theme-color" content="#F9A22C" />
<script type="module" crossorigin src="/assets/index-B4fysdFj.js"></script> <script type="module" crossorigin src="/assets/index-B4fysdFj.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-B7qXuEZt.css"> <link rel="stylesheet" crossorigin href="/assets/index-B7qXuEZt.css">
</head> </head>

View File

@@ -0,0 +1,6 @@
User-agent: *
Allow: /
Sitemap: https://www.your-part.de/sitemap.xml

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.your-part.de/</loc>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://www.your-part.de/blog</loc>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.your-part.de/falukant</loc>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.your-part.de/minigames</loc>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
</urlset>

View File

@@ -1,4 +1,8 @@
<template> <template>
<div>
<div class="beta-banner" role="status" aria-live="polite">
<strong>Beta-Hinweis:</strong> YourPart befindet sich in aktiver Entwicklung. Funktionen können unvollständig sein, Inhalte fehlen noch und es kann zu Änderungen kommen.
</div>
<div class="home-structure"> <div class="home-structure">
<div class="mascot"><img src="/images/mascot/mascot_male.png" /></div> <div class="mascot"><img src="/images/mascot/mascot_male.png" /></div>
<div class="actions"> <div class="actions">
@@ -43,6 +47,46 @@
<RegisterDialog ref="registerDialog" /> <RegisterDialog ref="registerDialog" />
<PasswordResetDialog ref="passwordResetDialog" /> <PasswordResetDialog ref="passwordResetDialog" />
</div> </div>
<section class="seo-content">
<h1>YourPart Community, Chat, Forum, Falukant & Minispiele</h1>
<p>
YourPart ist eine wachsende OnlinePlattform, die CommunityFunktionen, EchtzeitChat, Foren,
ein soziales Netzwerk mit Bildergalerie sowie das Aufbauspiel <em>Falukant</em> vereint.
Aktuell befindet sich die Seite in der BetaPhase wir erweitern Funktionen, Inhalte und
Stabilität kontinuierlich.
</p>
<h2>Was dich erwartet</h2>
<ul>
<li><strong>Chat</strong>: Öffentliche Räume, zufällige Begegnungen (RandomChat) und Farbanpassungen.</li>
<li><strong>Soziales Netzwerk</strong>: Profil, Freundschaften, Bildergalerie mit Sichtbarkeiten.</li>
<li><strong>Forum</strong>: Themen anlegen, Beiträge verfassen, Moderationsrechte (rollenbasiert).</li>
<li><strong>Falukant</strong>: Wirtschaft & Alltag Zweigstellen verwalten, produzieren, lagern, verkaufen.</li>
<li><strong>Minispiele</strong>: z.B. Match3Level kurze Unterhaltung zwischendurch.</li>
<li><strong>Mehrsprachig</strong>: Deutsch/Englisch Inhalte werden fortlaufend ergänzt.</li>
</ul>
<h2>Falukant kurz erklärt</h2>
<p>
In Falukant führst du Betriebe, bildest Wissen aus, optimierst Produktion und Verkauf, beobachtest Preise
und reagierst auf Ereignisse. Benachrichtigungen informieren dich über StatusÄnderungen in Echtzeit.
</p>
<h2>Datenschutz & BetaStatus</h2>
<p>
YourPart befindet sich in der <strong>Beta</strong>. Es kann zu Änderungen, Ausfällen und fehlenden
Übersetzungen kommen. Wir legen Wert auf Datenschutz und Transparenz; weitere Informationen folgen im
Laufe der Beta.
</p>
<h2>Mitmachen</h2>
<p>
Du kannst die Plattform bereits nutzen, testen und Feedback geben. Registriere dich über {{ $t('home.nologin.login.register') }}
oder starte unverbindlich den RandomChat.
</p>
</section>
</div>
</template> </template>
<script> <script>
@@ -95,6 +139,15 @@ export default {
</script> </script>
<style scoped> <style scoped>
.beta-banner {
background: #fff3cd;
border: 1px solid #ffeeba;
color: #856404;
padding: 10px 14px;
margin: 0 0 12px 0;
text-align: center;
}
.home-structure { .home-structure {
display: flex; display: flex;
align-items: stretch; align-items: stretch;
@@ -135,4 +188,22 @@ export default {
.actions>div>h2 { .actions>div>h2 {
color: #F9A22C; color: #F9A22C;
} }
.seo-content {
max-width: 1000px;
margin: 24px auto 0 auto;
padding: 0 16px 40px 16px;
color: #333;
}
.seo-content h1 {
font-size: 28px;
margin: 0 0 8px 0;
}
.seo-content h2 {
font-size: 20px;
margin: 18px 0 6px 0;
color: #444;
}
.seo-content p { line-height: 1.6; margin: 0 0 8px 0; }
.seo-content ul { margin: 0 0 8px 20px; }
</style> </style>