jahreskalender
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Ein Jahreskalender für Val.town, der Events aus ICS-Kalendern anzeigt.
- Zwei Ansichten: Jahres-Grid und Wochenansicht (umschaltbar)
- Unterstützung für ICS/iCal Kalender-Feeds
- Wiederkehrende Events (RRULE: YEARLY, MONTHLY, WEEKLY)
- Mehrtägige Events als Balken dargestellt
- Overflow-Indikator (+N) wenn mehr Events als Platz vorhanden
- Klick auf Tag zeigt alle Events des Tages
- Unterschiedliche Hintergrundfarben für Samstag/Sonntag
- JWT-basierte Authentifizierung
- Caching der Events in Val.town Blob Storage
- Österreichisches Deutsch (de-AT)
- Backend: Hono Framework auf Val.town
- Frontend: React 18
- Storage: Val.town Blob Storage
- Auth: JWT mit HttpOnly Cookies (15 Min. Session)
AUTH_PASSWORD=<dein-passwort>
JWT_SECRET=<zufälliger-secret-key>
├── main.http.ts # Hono App Entry Point
├── refresh.cron.ts # Cron Job für Event-Cache
├── backend/
│ └── routes/
│ ├── calendars.ts # Kalender-Verwaltung API
│ └── events.ts # Events API
├── frontend/
│ ├── index.html
│ ├── index.tsx
│ ├── style.css
│ └── components/
│ ├── App.tsx
│ ├── Sidebar.tsx
│ ├── WeeklyCalendar.tsx
│ └── YearCalendar.tsx
└── shared/
├── auth.ts # JWT Auth
├── constants.ts # UI Text & Config
├── types.ts # TypeScript Types
└── utils.ts # ICS Parser & Utilities
Das Projekt läuft auf Val.town. Push mit:
vt push