You need to coordinate the turns on the server, I'd think of some entity that represents fight state, something like
- GET /fight => Returns { player: 1 }
- Player 1 POSTs to /fight he acknowledges it's his turn, timestamp starts
- Player 1 POSTs his action(s) to /fight, server computes the actions and updates the fight state, clears the timestamp and now it's player 2's turn
- Player 2 is GETTing /fight (some pool maybe), then, suddenly the app receives
{ player: 2 } (hey, it's my turn!)
- Player 2 POSTs he acknowledges it's his turn, timestamp starts
- Player 2 does not play, as Player 1 is pooling the server for changes on the fight state, after 60 seconds it will be player 1's turn. Back to step 1.
You could use something like Socket.io/Comet for real time communication, but cleverly sending timestamp information to the clients may suit you and save some requests. Most of these decisions depend on your gameplay.
General advice is - don't worry about the technology if it doesn't work on paper (this example could be easily implemented in any language/db pair), it's easier to abstract when you don't have to care about storage or requests.
If it gets too complicated, try to simplify it and then build more complex processes on top of the simpler ones.