I'm working on a website for a school and need to create a system where students can login, check assignments and upload homework that the teacher can then view easily and give feedback on. I am only a front and programmer so I am hoping there is some form of pre-built plugin for Craft that I can use and then modify to suit our needs.

Currently we use Blogger and it does an alright job for what we need. But we would prefer to have all the interactions for students to be done through own website and not a third party.

Because it's a complicated question here is a very basic outline of what I am trying to achieve: Example Image


3 Answers 3


It's certainly doable, but I think there will be some significant plugin and templating work needed, even when starting with something like the the Guest Entries plugin that Jamie mentioned.


For anybody finding this in the future, it can be done with Craft and the GuestEntries plugin, although it'll take some intermediate Craft knowledge. (Entry Management, a custom Method for the file upload, associating Assets with certain entries, et cetera.)

The basic setup that you'd have is this:

Students can create their account from the front end. This requires Craft Pro, which you're better off using for something of this caliber:


Student Login Page

This would be handled by Craft's usual User functionality. Students login and are redirected to the 'Class Listing' page.


Class Listing Page

This is where you'll need a custom plugin to associate Users with Classes, and vice-versa. There might be a plugin out there that can do this; you'll have to do the legwork to find it.

Whatever you do, the plugin will generate a list of associated classes for the logged-in user, organized by Semester. (Again, a custom plugin with the proper relational tables.)

A little javascript will take care of the accordion collapse functionality.

The user will click on a class, and Craft will redirect them to the...

Class Page

This would actually be a pretty standard entry page. Display all the associated fields for a Class. (Create Asset fields for Resources/Pictures, Body field for Content, et cetera.) Locking functionality could be taken care of with Entry Status. (Disabled = 'locked')

The only intermediate functionality is the File Upload.

Guest Entries can do this; it's a form input with the name of your Field Handle, like this:

<input type="file" name="yourPluginFieldHandle">

If someone builds this, make sure you know how Craft works, lest you open yourself up to some serious Asset Management issues.


I've found that Moodle is going to be my best bet as it has all the features that I need. Although now I am having issue's installing it within craft. I posted that question here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.