Personal Agenda web app https://edwardbetts.com/agenda/
Go to file
Edward Betts d9b1d77872 Add trips page
Creating a new entity called a trip. This will group together any travel
accommodation and conferences that happen together on one trip.

A trip is assumed to start when leaving home and finish when returning
home.

The start date of a trip in is the trip ID. The date is written in ISO
format.

This assumes there cannot be multiple trips one one day. This assumption
might be wrong, for example a morning day trip by rail, then another
trip starts in the afternoon. I can change my choice of using dates as
trip IDs if that happens.

Sometimes during the planning of a trip the start date is unknown. For
now we make up a start date, we can always change it later. If we use
the start date in URLs then the URLs will change. Might need to keep a
file of redirects, or could think of a different style of identifier.

Trip ID have been added to accommodation, conferences, trains and
flights.

Later there will be a trips.yaml with notes about each trip.
2024-01-04 22:55:19 +00:00
agenda Make conferences a top-level list 2024-01-04 15:08:12 +00:00
static/css Use calendar emoji as favicon 2023-11-13 12:08:55 +00:00
templates Add trips page 2024-01-04 22:55:19 +00:00
tests Make test suite run again. 2023-10-11 16:04:35 +01:00
.gitignore Update gitignore 2023-10-21 09:27:40 +01:00
LICENSE Initial commit 2023-10-02 23:45:14 +01:00
README.md Update README, new features 2023-11-23 21:22:44 +00:00
requirements.txt Add requirements.txt 2023-11-17 11:52:26 -03:00
run.fcgi Initial commit 2023-10-02 23:45:14 +01:00
update_gwr_advance_ticket_date.py Make GWR ticket check use flask config 2023-12-07 19:06:48 +00:00
web_view.py Make conferences a top-level list 2024-01-04 15:08:12 +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: