So, I think what you need is #1 a func_tracktrain that allows the player to ride a platform and #2 a path_track which will guide the train, #3 you will need a Trigger_hurt that will damage the player, which you can
parent to the func_tracktrain.
There are more in depth tutorials on how to place path_tracks that you should look for as I'm not the best person to explain it, but the gist is, you place one path_track, give it a name so it can be targeted, use somthing like
track1 (it needs to have a number on the end of it), then copy it to form a track for the func_tracktrain to ride on, you want to space them evenly apart (not too far or too close) and use multiple path_tracks. You don't have to do anything extra when copying the path_track as hammer automatically sets it up for you. You can then link the func_tracktrain to the first path_track and from there it will automatically connect to the rest. You can change the speed, sound and other characteristic's of the func_tracktrain in the
properties menu.
Here's a link to the Valve Developer wiki on path_track:
https://developer.valvesoftware.com/wiki/Path_track
You can also look up func_tracktrain and trigger_hurt of you don't already know about them, I have also found some great tutorials here on tf2maps that I'm sure you would find helpful. I suggest making it yourself first so you know how it works before getting someone else to do it.
I hope this helps! And feel free to ask anymore clarifying questions if I missed something or didn't provide enough detail.