Events - ads04r/imouto-viewer GitHub Wiki

Events are the main core feature of Imouto Viewer. Every event has a type, a start time and an end time, but other than this it’s pretty much up to the user how events should be used.

Creating, Editing and Deleting Events

A good way to view and edit events is via the calendar view. But you can also create events, with various degrees of restriction, from any 'Day' page.

Common Event Types

There are a number of event types that Imouto recognises, but you are free to use your own type to classify the chapters of your life.

General Event (event)

A basic event, the type which is allocated to every newly created event by default. It has no special functionality.

Location Proximity (loc_prox)

An event linked to a location somehow. This is typically a visit to the location in question, and is a good way to record arrival and departure times as well as the people who you were with. The background tasks can create these for you automatically, based on GPS or other location records.

Journey (journey)

An event involving movement of some kind. Typically, these are exercise events categorised using workout categories, but can just as well be long drives, train or bus journeys, or any other kind of journey. What makes them special is that Imouto Viewer will draw a map of the journey, assuming GPS data is available, and generate statistics such as distance or average travelling speed.

Optionally, Imouto will also compare events to other events within the database, and alert the user to any that are similar. This is good for comparing times for the same route, for example.

Calendar Event (calendar)

Typically, this is an event imported from a calendar and is not considered to be 100% accurate. Your calendar may say a meeting starts at 3:00 and ends at 4:00 but realistically you could arrive at 2:55 and be finished by 3:30. In Imouto's normal use, calendar entries are more commonly used to describe or label events of different types.

Life Event (life_event)

This is a significant event in the user’s life, one which may contain many other sub-events as part of it, and may span several days or weeks. Things like holidays, festivals, or getting married. These events have a slightly simpler event page within the web UI, in order to reduce page render time, but will be considered more significant when generating reports.

Workout Categories

Much like a fitness tracker, Imouto Viewer allows you to create a set of workout categories, or activities, which may be applied to Events in order to make them easier to search, or generate statistics.

Event Tags

If Imouto’s event classification isn’t quite up to scratch, or you just want to label events in a more manual way, you can assign alphanumeric tags to certain events. These can be literally anything you want, and the tags you have used will all be visible in the tag view.

Tags can be automatically assigned by Imouto based on a set of conditions. This is possible through tag rules. A tag can have a number of rules, each with a number of conditions. The rule passes if all its conditions are met, and the tag is assigned if one or more of its rules passes. The rules are not applied retrospectively, meaning tags are only created on event creation or modification.

Development

Within the code, an event is a Django model, defined in the file models/core.py

⚠️ **GitHub.com Fallback** ⚠️