- A user can have many activities and a activity can have many users = Pivot
- A question belongs to one activity = Foreign key (activity_id) in questions table
- A user can answer many questions and a question can be answered by many users = Pivot
Depending on how the answer is done.
- Multiple choices
- Free text
If it's the first then you have an answers table that is connected to the questions table. One of these should be marked as the correct answer. Then the easiest is to add the answer_id to the pivot with the user and question.
If you use free text answers it's bit trickier but the basics are the same.