On Sun, Sep 20, 2009 at 11:29 PM, Daniel Watkins <[email protected]> wrote: > > Hello all, > > As part of the third year of my computer science degree (at the > University of Warwick), I need to complete an individual project. I'd > quite like to use this to do something for Django. The project is meant > to be done entirely individually, which means that something that works > as a standalone app (rather than being a branch of Django itself) would > be preferable. > > The project needs to be completed between the beginning of October and > April, with about 5 hours a week being spent on it. > > I have a few half-formed ideas of my own, but if anyone else has an idea > of what I could do, I'd like to hear about it.
First off - this sort of question would be better suited if you asked on Django-users. Django-dev is for discussing the development of Django itself; django-users is for general user queries. Admonition aside: it might help if you narrow the scope of your question for us. This is for an academic project - what constraints is the university placing on the project? Do you need to demonstrate technical competence in some particular area? Do you want/need to use any particular set of technologies? Is project planning and management more important than technical issues? Depending on your exact project needs, there are any number of options available. 1) Build a pluggable app that implements some interesting piece of functionality. This seems to be where you are focussed at the moment - build a pluggable application that implements some useful feature, such as webmail or a calendar. There are any number of options here; my only advice is to make a good survey of the state of the art before you try to duplicate an existing project. The apps integrated with Pinax are probably a good place to start looking. It may also be worth asking the Pinax guys to see if they have any wishlists for new apps. This sort of project is good if you're looking to prove high-level web programming skills plus JS+HTML. 2) Implement something that is a standalone feature request for Django. You could also look at utilities that would be useful to Django without actually being part of Django itself at present. For example, there is a long standing feature request to allow for more customization in the serializers. If your design and code is good, it might eventually end up in the Django core, but in the interim, you could tackle this as a standalone project. This sort of project would be good if you need to prove API design skills, and want to stick to Python as an implementation language. 3) Implement a backend for one of Django's public APIs. Django exposes a number of backend APIs that are designed for end-users to extend. For example, consider the database backend. IBM DB2, MSSQL and SQLAnywhere are all supported as external projects with no involvement or interaction with the Django core. So which backend to implement? Well, at this point, we have all the common relational databases covered, but we don't have a good answer for non-relational databases. We have someone working on the Google AppEngine backend at the moment; if you were to pick another datastore (say, CouchDB, Cassandra or MongoDB), you could use the get up to speed with an emerging web technology, plus be contributing in a meaningful way to the Django community, without actually working on the Django core itself. This sort of project would be better suited if you need to prove capabilities in low-level technologies and APIs. However, it might also be a little ambitious given your time constraints. You'll have to judge this one for yourself. So - there are lots of options. It really comes down to what you're interested in, and what you're trying to achieve with your project. Yours, Russ Magee %-) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/django-developers?hl=en -~----------~----~----~----~------~----~------~--~---
