Eines Tages
Kostenlos zur Host- und Open-Source Cal.com / Kalendly-Alternative, die auf Google-Apps-Script für Google Mail-Benutzer basiert.

Demo (verspottete Endpunkte)
https://someday-demo.vercel.app/
Was ist eines Tages?
Eines Tages ist ein einfaches Open-Source-Planungstool, das speziell für Google Mail-Benutzer entwickelt wurde. Verwendet Google Apps -Skripte, um zu hosten und zu verschließen, um zu verwalten. Erstellt mit modernen Technologien wie React, TypeScript, Shadcn/UI und vite. Eine einfache Alternative zu herkömmlichen Planungs -Apps wie Kalender.
Schlüsselmerkmale
- Kostenlos und Open Source : Genießen Sie alle Premium -Planungsfunktionen ohne Kosten. Eines Tages ist es völlig frei zu verwenden und für Beiträge zu offen.
- Mühelose Integration : Als Google Apps -Skript konzipiert, integriert sich eines Tages nahtlos in Ihr Google Mail und erleichtert es, Ihren Zeitplan direkt aus Ihrem Posteingang aus zu verwalten.
- Entwicklerfreundlich : Eines Tages ist mit modernen Entwickler-bevorzugten Technologien aufgebaut und ist eines Tages leicht anpassen und auszudehnen, um Ihre spezifischen Anforderungen zu erfüllen.
- Anpassbare Arbeitszeiten : Stellen Sie Ihre Verfügbarkeit mit Präzision fest, sodass andere Zeitfenster buchen können, die Ihrem Zeitplan perfekt passen.
- Einfacher Buchungsprozess : Benutzer können ein Datums- und Zeitfenster auswählen und dann ein einfaches Formular mit Namen, E -Mail, Telefon und optionalem Hinweis ausfüllen.
- Privatsphäre zuerst : Keine Datenfreigabe über Google über Google bis Drittanbieter -Apps hinaus
Erste Schritte
Anpassen
Ändern Sie die folgenden Variablen in backend/src/app.ts
um Ihre Verfügbarkeitseinstellungen anzupassen:
// backend/src/app.ts
const CALENDAR = "primary" ;
const TIME_ZONE = "America/New_York" ;
const WORKDAYS = [ 1 , 2 , 3 , 4 , 5 ] ;
const WORKHOURS = {
start : 9 ,
end : 13 ,
} ;
const TIMESLOT_DURATION = 30 ;
Self -Host -Iframe HTML / Entfernen von Google App -Skripts Banner
Das Google Apps -Skript verfügt über ein Banner mit der Aufschrift "Diese Anwendung wurde von einem Google Apps -Skriptbenutzer erstellt", um zu entfernen, können Sie die HTML -Datei selbst hosten und das Skript als IFRame einbetten
Verwenden Sie die hosted-iframe-example.html
Datei, GitHub Pages ist eine gute Option dafür. Fügen Sie Ihre Skript-URL zum IFrame-SRC hinzu
Entwickeln
-
cd ./frontend
-
npm install
-
npm run dev
- Dummydata wird mit der generierten Funktion ~ Zeile 42 in
frontend/hooks/useGoogleTimeSlots.ts
im laufenden Flug generiert.
Installieren
Schritt 1: Richten Sie Ihre Umgebung ein
Möglicherweise müssen Sie alle Konten und nur in Ihr Zielkonto abmelden
clasp
einbauen:
- Stellen Sie sicher, dass Sie Node.js installiert haben.
- Installieren Sie global mit NPM
clasp
: npm install -g @google/clasp
Melden Sie sich mit clasp
an:
- Führen Sie den folgenden Befehl aus, um sich anzumelden:
Entfernen Sie die vorhandene Konfiguration (falls erforderlich):
- Wenn Sie auf Probleme stoßen, entfernen Sie die vorhandene Datei
.clasp.json
:
Aktivieren Sie die Apps -Skript -API:
- Besuchen Sie Google Apps Skript -API -Einstellungen.
- Aktivieren Sie die Apps -Skript -API.
- Warten Sie ein paar Minuten, bis sich die Änderungen zur Propagierung vermehren.
Schritt 2: Erstellen und bereitstellen Sie das Skript
Erstellen Sie ein neues Projekt:
- Erstellen Sie ein neues Apps -Skriptprojekt als Web -App:
clasp create --type webapp
Stellen Sie das Skript bereit:
- Verwenden Sie den folgenden Befehl, um Ihr Skript bereitzustellen:
Greifen Sie auf die Web -App zu:
- Besuchen Sie die URL nach dem Einsatz.
- Sie sehen die Nachricht "Autorisierung ist erforderlich, um diese Aktion auszuführen."
Autorisieren Sie die Web -App: (!!! wichtig !!!)
- Führen Sie
clasp open
um den Herausgeber zu öffnen - Gehen Sie zu
dist/app.gs
- Wählen Sie in der Dropdown -Stelle oben
fetchAvailability
aus und drücken Sie dann Run - Autorisierungsmodal wird angezeigt, "Überprüfungsberechtigungen", wählen Sie Ihr Konto aus, Sie sehen eine Warnung, gehen Sie zu Advanced und gehen Sie zu (unsicher) und klicken Sie dann auf Zulassung.
- Wenn es funktioniert, aktualisieren Sie die Seite/den Editor und führen Sie die Funktion erneut aus und sie sollte ohne Ausgabe abgeschlossen werden.
Cheat Sheet
npm run deploy
- Build und Delpoy
npm run build
- nur Build
undeployall.sh
- alle Versionen des Skripts abploy
deployments.sh
- Alle Bereitstellungen Web -URLs listen
clasp open
- Öffnen Sie den Skript -Editor
Screen erfasst


Beitragen
Öffnen Sie eine Pull -Anfrage oder ein Problem, um eines Tages beizutragen. Begrüßen Sie alle Beiträge, einschließlich Fehlerbehebungen, Feature -Anfragen und Dokumentationsverbesserungen.
Lizenz
MIT