General Project Goalsoff the cuff from Michael:
User Work FlowFinding Edibles (Accessing Data)
Adding Edibles (Contributing Data)
FeaturesSee New Feature Ideas while a more formal list is generated here. Software / Service Stack
ModelsThis is an informal brainstorm of the main database models Wheres (Edibles / Locations)
Whats (Food types)
Whens (Seasonal data)
Whos (Users)Anonymous users can add or search but not remove or change edibles. Anonymous can flag sources for revision, removal, poisonous lookalike. Anonymous can add ratings or status to existing sources (ripe now, flowering, ...) Users can manage their own sources, avoid captcha, others?
Hows (Educational data)
Flags
Comments
Models for Text/Other Content
Main ViewsSearch
Add Source
Browse view can be replace with more comprehensible search page Front page
Other Pages
TestsImprove this area as we develop our tests... Django Docs http://docs.djangoproject.com/en/dev/topics/testing/#topics-testing Writing TestsUnit tests -- tests that are expressed as methods on a Python class that subclasses unittest.TestCase. Create test files called tests.py in the application directory -- i.e., the directory that holds models.py. The test runner looks for any subclass of unittest.TestCase in this module. Running TestsWhen you run your tests, the default behavior of the test utility is to find all the test cases (that is, subclasses of unittest.TestCase) in models.py and tests.py, automatically build a test suite out of those test cases, and run that suite. There is a second way to define the test suite for a module: if you define a function called suite() in either models.py or tests.py, the Django test runner will use that function to construct the test suite for that module. This follows the suggested organization for unit tests. See the Python documentation for more details on how to construct a complex test suite. For more details about unittest, see the standard library unittest documentation. Run all tests$ ./manage.py test Run tests for specific model$ ./manage.py test my_model Run tests for specific model test suite$ ./manage.py test my_model.MyTestCase Run tests for specific model test$ ./manage.py test my_model.MyTestCase.testMyCase ![]() |