I am looking to build a Wordpress site with at least one custom plug-in to power a university single-class portal for students. I currently use a custom built .NET app that needs to be rebuilt on Wordpress. The coder who is awarded the project will receive access to this app.
The following functions are necessary:
1 - A blog where I can post announcements and news. When the post is made, it must be e-mailed to all students immediately.
2 - A place where students can post their assignments in HTML. This should save as a draft in the background every 10 seconds or so to ensure that no work is lost if a computer should lose connectivity or otherwise shut down unexpectedly. Once an assignment is submitted, it is time stamped and cannot be edited. Students can submit the same assignment multiple times.
3 - A progress report that calculates current weighted class grade. For each active assignment, it must count the highest grade that particular student received. This is in the current system and you can see the views that power this.
4 - Each student is assigned to a team for a project. They should be able to see what team they are on and their fellow team members (including contact information). This may be a good use of BuddyPress so they can communicate.
5 - Students should be able to register for the website and provide contact information, etc.
6 - We have a special assignment that must be submitted each day of class. For that assignment, a one-time use code is required and the assignment must be submitted by a certain date/time.
7 - I need a place to view submitted assignments and give them comments and grades. In the same place I need to be able to see all previous submissions of that particular assignment (along with grade/comments), so I can verify changes. The comments/grades must be visible to students. Multiple graders must be able to access this (i.e.: more than one person) and we must track who gave the grade and the date/time it was done.
8 - I do NOT need an admin page for every function of the system - I can easily load MySQL tables with information as needed.
9 - I need to be able to impersonate user accounts for troubleshooting.