You may find that many regular content management systems can do this out of the box, without add-ons. I use ExpressionEngine, which has a handy membership module that allows for member registrations, membership areas etc. where members can go to download things. And it’s a nice, developer-friendly CMS. There are some heavy-duty plugins for more membership features, such as Membrr, but that’s probably more than needed here.
ExpressionEngine will cost you, though, and I’m sure WordPress would have a free alternative to this, as well as other free CMSes like Drupal etc.
Choose a good content management software and integrate with your website. Around 80 to 90% of our requirement is solved my CMS and other 10 to 20% can be achieved my coding.
I have the application that matches 100% to your needs. ( visit www.kandk.in for further details ). The product would be integrated with your
website where you/school members/students/parents/teachers can download the documents, view the schedule etc. Please let me know if you need more information on this.