33 lines
1.2 KiB
Markdown
33 lines
1.2 KiB
Markdown
## Proposed Tech stack
|
|
- NodeJS
|
|
- Express
|
|
- Postgresql
|
|
- Luxon
|
|
|
|
## Database architecture
|
|
See: https://dbdiagram.io/d/5e769ab14495b02c3b88936f
|
|
|
|
## Flowchart
|
|
[Open flowchart with diagrams.net](https://app.diagrams.net/#Uhttps://git.armada.digital/rui/meeting-scheduler-backend/raw/commit/53c94900cbedcbfccee4050c232956aebe16b083/research/meetingscheduler.drawio)
|
|
|
|
## API endpoints
|
|
[See all API endpoints](https://git.armada.digital/rui/meeting-scheduler-backend/src/branch/master/research/API%20Documentation.md)
|
|
|
|
## How to deal with date and time in PostgreSQL?
|
|
- use `datetime` datatype without timezone (datetime with timezone is using offset, which doesn't work well with DST)
|
|
- store datetime in UTC
|
|
- add timezone information separately, use `Full time zone name` (human friendly)
|
|
- use `ISO 8601` format, which is human friendly to read and supported by every library
|
|
|
|
|
|
See:
|
|
- https://www.moesif.com/blog/technical/timestamp/manage-datetime-timestamp-timezones-in-api/
|
|
- https://www.postgresql.org/docs/current/datatype-datetime.html
|
|
|
|
|
|
## Inspiration
|
|
- Framadate:https://framadate.org/
|
|
- Omnipointment: https://omnipointment.com
|
|
- When is Good: http://whenisgood.net/
|
|
- MRDA 2019 Secretary spreadsheets ;)
|