SWU, Schoolwork Web Utilities, is a web application that allows a teacher to publish his/her assignments, students to turn in their homeworks, and everybody to track what has been done and what is due.
It is released under the GNU Affero General Public License. The license file is available in the root directory of the project.
With SWU, a teacher can:
- prepare an assignment
- assign it to his/her students
- send email messages to the students, inviting them to turn it their work
- print special codes that students can use to turn in their work
- check uploaded works and send comments to the students
An exercise is the work assigned to a particular student. It can be in one of this status conditions:
- just uploaded, not yet checked
- checked, and marked as incomplete
- checked, and marked as copied (sometimes it happens, unfortunately...)
- checked, and marked as improvable
- checked, and marked as completed
The basic assumption is that works by the students are considered "in progress". They can try to do something, ask for comments and for help, improve their work, etc.
Each student is given a personal code to upload his / her files. The code can be printed or emailed. Works can be done in pairs and/or groups.
Ideas for improvements and enhancements
There is a lot of space for improvements and enhancements, of course.
Some things I'm thinking about:
- organized / managed peer review by students
- customized reports for the teacher and the students
Some screenshots are available on Loris Tissino's website.
SWU basically uses Yii as PHP framework and MySQL as database backend.
It also uses:
Some icons from FamFamFam's set;
Some icons from Dawghouse Design Studio;
Follow the following steps. If you have problems, please contact the author.
Download the Yii framework from http://www.yiiframework.com/download/ (release 1.1.15) and unzip it / untar it.
Download the source code of the application and unzip it / untar it (you might prefer to use git for that purpose).
Find the files ending with "-dist" and make a copy of them, removing the "-dist" part of the name.
Download Twig, and install it on the protected/vendor directory (if you want, you can use composer for that -- follow the instructions).
Create a MySQL database, and create the needed tables in it. The SQL code is available in the file protected/data/schema.mysql.sql.
Insert some default values in the mailtemplate table. The SQL code is availabale in the file protected/data/mailtemplate_table_samplecontents.mysql.sql.
Edit the file protected/config/main.php to store database's dbname, username and password.
All settings are to be written in the protected/config/main.php file.
There are some defaults, so you can omit some of the settings. You can have a look at the defaults in the file protected/components/Helpers.php (see the function getYiiParam()).