You appear to have these relationships:
Projects::_fkContactID = Contacts::__pkContactID
Contacts::__pkContactID = Attendance::_fkContactID
Events::_fkEventID = Attendance::_fkEventID
Assuming that Contacts will list each person that may attend an event, you'd record attendance via a field defined in the attendance table. A portal to Attendance on the Contacts table could list all events for which that contact was "registered" or "invited" and if you place the attendance field in that portal, it will show which events that contact attended. You can also generate attendance summary reports on layouts based on the Attendance table.
You may find this demo file, which coincidentally demos matching Contacts to Events, helpful: https://www.dropbox.com/s/oyir7cs0yxmbn6i/ManyToManywDemoWExtras.fp7