Witze posten, liken und mitentscheiden, welcher Witz heute ganz oben steht.
Translation pending
SocialPLpgSQL · JavaScriptGitHub @lachwerkOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Witze-Web-App: Lesen, Liken und Bewerten im Swipe-Modus geht ohne Konto. Zum Posten registriert man sich mit E-Mail und Passwort. Rankings für Heute, Woche und Alltime. Reine HTML/CSS/JS-Dateien, kein Build-Schritt.
lachwerk (öffentlich).https://lach-werk.de/.Im Demo-Modus läuft alles sofort mit 360 Startwitzen. Jeden Tag erscheint unter „Heute“ automatisch eine neue Auswahl. Stimmen und neue Witze bleiben aber nur im Browser des jeweiligen Besuchers. Zum Ausprobieren reicht das. Für eine echte Community schaltest du den Live-Modus ein.
GitHub Pages kann nur Dateien ausliefern und nichts speichern. Die Daten liegen deshalb in Supabase (kostenloser Plan reicht für den Start).
Auf supabase.com ein Projekt anlegen. Region: Central EU (Frankfurt).
Im Projekt SQL Editor → New query, den kompletten Inhalt von supabase.sql einfügen und Run klicken.
Das legt Tabellen, Schutzregeln und die 360 Startwitze an. Sie sind über 35 Tage vorgeplant:
Jeden Tag erscheinen etwa 10 neue, damit „Heute“ auch ohne Beiträge von Besuchern gefüllt ist.
Admin-Schlüssel für die Moderation setzen (mindestens 12 Zeichen, gut merken):
select public.set_admin_key('hier-dein-geheimer-schluessel');
Unter Project Settings → API (bzw. API Keys) die Project URL und den anon / publishable Key kopieren.
In GitHub die Datei config.js öffnen, auf den Stift klicken, beide Werte eintragen, Commit changes:
window.LACHWERK_CONFIG = {
supabaseUrl: "https://abcdefgh.supabase.co",
supabaseAnonKey: "eyJhbGciOi...",
};
Der anon-Key ist öffentlich und darf dort stehen. Den service_role / secret Key niemals eintragen.
Unter Authentication → URL Configuration:
https://lach-werk.de/Optional: Unter Authentication → Emails die Texte der E-Mails auf Deutsch anpassen. Der eingebaute E-Mail-Versand von Supabase schafft nur wenige E-Mails pro Stunde. Für mehr Nutzer unter Authentication → SMTP einen eigenen Versand eintragen (z. B. Brevo, kostenlos bis 300/Tag).
Nach etwa einer Minute ist die Seite live. Der gelbe Demo-Hinweis unten verschwindet.
Du hast supabase.sql schon früher ausgeführt? Dann führe im SQL Editor weitere_witze.sql aus.
Es kommen bis zu 210 neue Witze dazu. Witze, die es schon gibt, werden übersprungen. Mehrfach ausführen ist unschädlich.
Bei einer Neueinrichtung brauchst du die Datei nicht, supabase.sql enthält bereits alle 360.
ruhrpott_witze.sql: 25 Witze im Ruhrpott-Stil, erscheinen nach und nach über rund 10 Tageschwarzer_humor.sql: Kategorie „Schwarzer Humor“ mit 17 Witzen, erscheinen über rund 9 Tageeinzeiler.sql: Kategorie „Einzeiler“ mit 30 kurzen Witzen, erscheinen über rund 12 Tagechef_sprueche.sql: 25 Chef-Sprüche in der Kategorie „Büro“, erscheinen über rund 8 Tagetop_witze.sql: 117 der beliebtesten deutschen Witze aus dem Netz (nacherzählt), alle sofort sichtbarneue_witze_oktober.sql: 31 neue Witze (u. a. Fitness), 10 sofort, der Rest alle 6 StundenJeweils im SQL Editor ausführen. Vorhandene Witze werden übersprungen.
Für eine schon eingerichtete Datenbank einmal erweiterung.sql im SQL Editor ausführen (bei Neueinrichtung steckt sie in supabase.sql).
| Funktion | So funktioniert es |
|---|---|
| Witz des Tages | Jeden Abend um 20 Uhr (deutsche Zeit) wird der beste Witz der letzten 24 Stunden gekrönt. Ohne Zeitplan: Die Krönung passiert beim nächsten Seitenaufruf danach. Zu sehen unter #/highlights, das Story-Bild trägt dann die Krone. |
| Reaktionen | 😂 🙄 💀 unter jedem Witz, eine pro Gerät. Daraus: „Lacher“, „Größter Seufzer“ und „Schwärzester“ der Woche. |
| Duell | #/duell: zwei Witze, einer gewinnt. Eigene Elo-Wertung, beeinflusst das normale Ranking nicht. Duell-Champions ab 5 Duellen. |
| Autoren | #/autoren: Witzbold der Woche und Alltime (Wilson-Score über alle Stimmen eines Autors, mind. 5 bzw. 20 Stimmen). |
| Profile | #/u/NAME: Witze, Likes, Lacher-Quote und Abzeichen. Erreichbar über den Namen unter jedem Witz. |
| Hinweise | Angemeldete Autoren sehen oben in der Bestenliste, wenn ihr Witz in den Top 3 ist, gekrönt wurde oder 10/25/50/100 … Likes geknackt hat. |
| Serie | Wer an mehreren Tagen in Folge bewertet, sammelt eine Serie (🔥) mit Abzeichen nach 3, 7 und 30 Tagen. Nur im Browser gespeichert. |
| Challenge | Wochenthema mit eigener Rangliste unter #/challenge. Beim Posten ankreuzen. Neue Challenges legst du unter #/admin → Challenge an. |
| Statistik | #/admin → Statistik: Besucher (abstimmende Geräte), Stimmen, Reaktionen, Duelle, neue Witze und Konten pro Tag. |
| Vorrat | #/admin → Vorrat: Witze einfügen (Leerzeile trennt Witze), Anzahl pro Tag wählen, fertig. Sie erscheinen nach und nach. |
| App | Installierbar (PWA): Symbol auf dem Startbildschirm, Kurzbefehle, funktioniert auch bei Funkloch. |
witze/ enthält statische Seiten je Kategorie, dazu sitemap.xml und robots.txt. Bei Google Search Console die Sitemap einreichen. |
This is the beginning of the README. Read the rest at the original. Read the full README ↗