I use a combination of OpenTasks, Joplin, and the standard calendar app on my Android phone. I sync that through Nextcloud with OpenSync. On the desktop I use Joplin and Thunderbird. Thunderbird handles the task and calendar data.
Joplin is a note taking app but it does have to do but I have never tried them. I tend to just make lists in my notes directly. Then for repeating or scheduled to do stuff I use OpenTasks and for appointments the calendar.