Для календаря использовать например вот это -
https://fullcalendar.io/
Алгоритм действий примерно такой:
1) на express + Mongo разработать бэкенд, где Вы будете хранить данные о записях в календаре.
2) Через ngrx получать данные с бэкенда и выводить на фронтонде.
3) Например по клику на дату/ место на календаре открывать модалку с формой добавления записи - отправить и сохранить на бэкенде.
По поиску инфы - можно погуглить что-то типа express rest api первые 2-3 ссылки думаю будет достаточно для старта. Ну и по angular 4 - гуглить что-то типа angular http / angular ngrx