Alors pour ta repetition d'évenements chaque années, vu que ca se fait chaque année, tu peux te permettre de le faire manuellement
Ou alors faire un listenner qui vérifiera si ton évènement actuel est périmé ou non, si jamais il est périmé, il lancera la requête pour ajouter l'évènement l'année suivante
Pour ce qui est du rappel, tu as deux solutions:
-Utiliser directement un calendrier, comme Google Agenda:
https://developers.google.com/calendar/quickstart/php
-Utiliser un CRON coté serveur (c'est un système pour dire au serveur qu'il existe un script PHP a lancé tout les tant de temps):
https://grafikart.fr/tutoriels/cron-tache-recurrente-1013
Et ce cron lancera un script qui checkera dans la base de donnée si un évènement arrive bientot, et pour les évènements qui arrivent bientot il enverra une notification :)