The draggable views module enables you to make the rows of a view draggable. The rearrangement can be done using drag'n'drop or by changing tthe weight of each row. Click on the video below to learn more about draggable views
I tend to use these modules for my http://www.rushmyessays.org/ website as you have mentioned many features in best way.
More information about text formats