You can use the Email module available on the app store to send emails
https://marketplace.mendix.com/link/component/259
For calculation of date, you can use addDays method. Add -1 days to end date which gives you the date of one day before the end date. This means end date is the next day. Now you can compare the calculated date with current date and see if you are going to send a reminder.
For scheduling of microflows, please see https://docs.mendix.com/refguide/scheduled-events
In addition to Umar’s excellent answer, I would suggest adding an attribute to your Event entity that you set if a notification email has been sent. When you search for expiring Events, you can then ignore those that have already had an alert sent, so you don’t send multiple emails. You would probably want to run this process every X time period in a scheduled event.
Good luck!