Further improvements and enhancements
As with any new application, there are a number of ways in which the ShapeEditor could be improved. For example:
Adding user signup and login, so that each user has his or her own private set of shapefiles, rather than every user seeing the entire list of all the uploaded shapefiles.
Adding the ability to edit a feature's attribute values.
Using a higher resolution base map. An obvious candidate for this would be the GSHHS high-resolution shoreline database.
Adding a tile cache for our TMS server.
Using JavaScript to add a please wait pop-up message while a shapefile is being imported or exported.
Improving the reusability of the ShapeEditor's codebase. We've concentrated on learning how to use GeoDjango to build a working system, but with a suitable redesign the code could be made much more generic so that it could be used in other applications as well.
Feel free to make these improvements; you will learn a lot more about GeoDjango, and about geospatial development...