We need an application to keep track of electronic assemblies, written in Django. It's pretty much a straightforward CRUD application, with some search capabilities and a decent interface.
A draft Django model is attached, which may give you a good idea of the project scope. (We expect that you will not use this modem as-is, but modify it when it makes sense to do so.)
- Universal search
- The user must be able to use a single search box to retrieve result(s) from multiple tables
- e.g. if the user enters "100000", and "100000" is a serial number for two assemblies, an order number, and also a part number, all of these results should be presented to the user in a readable form.
- The universal search must recognize certain patterns (e.g. "XX nnnnnn") read from a barcode and return the appropriate result.
- The results page much have the ability to filter by object type
- Specialized search / filtered item lists
- When searching, the user may choose a type of object to search (or filter it from the universal search results.
- A list of each object type must be displayed with controls for filtering and sorting based on any field.
- Detail (and edit) view
- Objects need forms for editing. Don't count on using the Django admin interface for anything but user administration
- Editing of foreign-key fields should be done in a reasonable way... a search box will be necessary for fields where lots of options are available.
- Some fields should be hidden based on boolean fields in a related object. (These will hopefully be obvious from the model.)
- Some of the detail forms will include and affect multiple models. For example, the Individual form would include a list of FatTestResults and Notes and have the ability to add Notes easily.
- The user must be able to generate a handful of pre-defined reports. (The user doesn't need to be able to create templates on the fly or anything like that.)
- Pretty and easy to use
- It doesn't need to win any awards for artwork, but it does need to be usable.
- It should be built using best practices
- Comments and variable names must be in English
Obviously, this leaves details open for discussion.