A CMS would be ideal for this although you will need some bespoke development done with it to shoehorn your requirements in.
Joomla or Drupal would handle it but both would require a level of development and to do that you will need to know how the code works
You wont be doing this quickly. A steep learning curve and lots of work.
I teach PHP if you are interested. I dont tackle individual coding projects but cover all the basics with the language which may help you