🪂 Inspired by when2meet.com, Parachute.fyi is an open-sourced web-based scheduling application built with modern frameworks. It also integrates modern user interface and login mechanism.
[x] Time zone support for event information display.
[x] Time zone support for timeslot filling.
[x] Only show save and discard buttons when selected dates actually changed.
[x] Form validation when creating an event. Fixes #47.
[x] Use ctx to get user information whenever possible. Fixes #48.
[x] Massive refactorization.
[x] Wrap all useQuery and useMutation into api-hooks.ts.
[x] Move section components to individual files.
Concept explanation:
TimeZongTag: This is a timezone value in the format Asia/Shanghai,GMT+8, which includes both area name and GMT value. timeZone fields in the database are all in this format. Only the later part (GMT value) is used when formatting a time. This is to cope with daylight saving time change where America/Chicago can take two different GMT values. Storing the GMT value at the time of creation and only using this value to format times protects consistency.
Known improvements:
Have not implemented recording participant time zones. Noted in #68.
This will be a large PR!
Checklist:
ctx
to get user information whenever possible. Fixes #48.useQuery
anduseMutation
intoapi-hooks.ts
.Concept explanation:
TimeZongTag
: This is a timezone value in the formatAsia/Shanghai,GMT+8
, which includes both area name and GMT value.timeZone
fields in the database are all in this format. Only the later part (GMT value) is used when formatting a time. This is to cope with daylight saving time change whereAmerica/Chicago
can take two different GMT values. Storing the GMT value at the time of creation and only using this value to format times protects consistency.Known improvements: