Personal Agenda web app https://edwardbetts.com/agenda/
Find a file
Edward Betts 574b4feb1f trip: redesign itinerary display and add trip list macro
- Add render_trip_element macro to macros.html; use it in trip_item for
  the trip list page, giving a consistent one-line-per-element format
  with emoji, route, times, duration, operator, distance, and CO₂
- Redesign trip_page.html itinerary: day headers use date-only (no year),
  condense check-out to a single accent line, show time-only on transport
  cards, humanise duration (Xh Ym), km-only distance, add CO₂ for all
  transport modes, fix seat display for integer seat values
- Fix UndefinedError on /trip/past caused by absent 'arrive' key (Jinja2
  Undefined is truthy) and date-only depart/arrive fields (no .date())
- Improve mobile map layout: text column before map in HTML order, reduce
  mobile map heights, hide toggle button on mobile
- Add trips.css with design system (Playfair Display / Source Sans 3 /
  JetBrains Mono, navy/gold/amber palette, card variants by type)
- Add tests/test_trip_list_render.py covering the rendering edge cases

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 09:15:51 +00:00
agenda trip: use flight_destinations rules for unbooked routes 2026-03-02 13:16:32 +00:00
frontend Add empty index.js for webpack 2024-03-30 10:19:54 +00:00
static trip: redesign itinerary display and add trip list macro 2026-03-03 09:15:51 +00:00
templates trip: redesign itinerary display and add trip list macro 2026-03-03 09:15:51 +00:00
tests trip: redesign itinerary display and add trip list macro 2026-03-03 09:15:51 +00:00
.eslintrc.js Add eslintrc.js 2024-05-05 14:56:36 +03:00
.gitignore Update gitignore 2025-11-14 07:53:01 +00:00
AGENTS.md Add attend_start/attend_end fields for partial conference attendance. 2026-02-18 18:14:27 +00:00
get_airport.py Command to get airport YAML 2025-07-22 21:27:51 +01:00
LICENSE Initial commit 2023-10-02 23:45:14 +01:00
package.json Add eslintrc.js 2024-05-05 14:56:36 +03:00
parse_airbnb.py Refactor Airbnb parsing into reusable library 2025-07-18 10:35:26 +02:00
README.md Update README, new features 2023-11-23 21:22:44 +00:00
requirements.txt Use coordinate-based timezone lookup for trip destinations 2026-02-26 14:57:20 +00:00
run.fcgi Switch from UniAuth to OpenID Connect 2026-02-17 11:25:55 +00:00
update.py Fix SpaceDevs rate-limiting and cache corruption from throttled responses 2026-02-21 20:50:05 +00:00
validate_yaml.py Validate bus journey data. 2026-02-24 20:51:01 +00:00
web_view.py trip: include transit airport cities in destination timezone list 2026-03-02 15:31:24 +00:00
webpack.config.js Avoid CDN for frontend CSS and Javascript 2024-03-30 10:18:21 +00:00

Personal agenda web app

Overview

The Agenda project is a comprehensive tool designed to keep track of various events and important dates, from holiday schedules to waste collection dates. It's an all-in-one solution for staying on top of your personal agenda.

Features

  • Event Management: Handles various types of events like birthdays, holidays, travel itineraries, conferences, and waste collection schedules.
  • Timezone Handling: Supports conversion and management of events across different time zones.
  • Data Sources Integration: Integrates with various sources like the UK and US holiday calendars, waste collection schedules, and space launch information.
  • Custom Event Scheduling: Allows defining custom recurring events using RRULE strings.
  • Dashboard View: Provides a web interface to display all upcoming events in an organized manner.

Installation

Prerequisites

  • Python 3
  • Flask
  • Other dependencies listed in requirements.txt

Setup

  1. Clone the repository:
    git clone https://git.4angle.com/edward/agenda
    
  2. Navigate to the project directory:
    cd agenda
    
  3. Install required Python packages:
    pip install -r requirements.txt
    

Configuration

  • Configure the config file with the necessary API keys and data directories.
  • Personal data such as birthdays, accommodation details, and travel plans should be placed in the specified data directory.

Usage

To run the web server:

python web_view.py

Access the web interface through a browser at http://localhost:5000/.

Modules Overview

The project is structured into several modules, each handling a specific aspect of the agenda:

  • Accommodation, Birthday, Calendar, Conference: Manage specific event types.
  • FX, GWR, Economist: Integrate with external data sources for financial information, railway schedules, and publication dates.
  • Sun, TheSpaceDevs, Travel: Calculate sunrise/sunset times, track space launches, and manage travel plans.
  • Waste Schedule, UK Holiday: Handle waste collection schedules and UK holidays.

Data Management

The data.py script is central to the functioning of the Agenda project. It compiles events from various sources and presents them in a unified format. Edit this file to modify or add new event sources.

Customization

You can customize the script to add or remove features and modify data sources as needed.

License

This project is licensed under the MIT License. Feel free to use, modify, and distribute it as per the license terms. See the LICENSE file for details.

Contact

If you have any questions or need assistance, feel free to contact the project maintainer: