backend/research/research.md
2020-03-25 18:59:33 +00:00

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 ;)