For more information and hardware used, see here:
https://www.zuidwijk.com/esphome-based-doorbell/
Alternative project: https://frenck.dev/diy-smart-doorbell-for-just-2-dollar/
This is run with Home-assistant: https://www.home-assistant.io/
and the ESPHome integration: https://esphome.io/
For notifications you can ues the automation "doorbell_automation.yaml".