Pages

Tuesday, July 29, 2014

Our program has finally achieved what can tentatively be referred to as full basic functionality.

Most recently, we have eliminated all global variables and replaced them with a system of classes, creating more consistent and easier-to-edit code.

We can edit, add, delete, and view clients easily as well as adding visits. Two members of the food pantry have tested it, one who is a computer scientist and one who is technologically inexperienced. Both found the program comfortable to use and helpful.

Though looking to expand possible features and functionality, there is a good working version as of right now. We have a short video showing a demo. :)


Tuesday, July 22, 2014

Update on Project Progress

At the beginning of this month, we announced that we were shifting our focus to the web interface. Unfortunately, there have been a lot more issues with the TkInter user interface than we expected, and it is still not entirely functioning. Since this Tk interface will be the one actually used by the food pantry, and since there are only 2-3 weeks remaining in RCOS, we will be focusing entirely on the TkInter UI for the remainder of the summer session. 

Not only will this allow us to turn out a working database, but also the quality of the interface will be better than if we tried to finish two interfaces at once. Since this database will probably be used by the food pantry for several years, this quality is especially vital.

Any work already done towards the web interface has been posted under a module called experiServe.py; this should create a very basic interface using html and the built-in Python server, and will accept input and print it to the screen (it has not been connected to the database at all yet).
 

Tuesday, July 15, 2014

Big changes are in progress to the functionality of the blog. Everything is ALMOST working and displaying information correctly. Hopefully within the next few days everything will all be cleaned up. Also, the new client UI (which is basically just a dynamic rearrangement) of the information display is pretty much up and kicking.

Here's the main Gui as of now:

 And here is the new client arrangement. In the bottom section, there is an entry box to specify the number of family members and an appropriate number of boxes pops up to be filled out.


Tuesday, July 8, 2014

Research & Future of This Project

Right now, we are in the process of finishing up the TkInter UI, and researching Python modules for phase two of the project. Please note that with the completion of the TkInter UI, we will have a working database that the food pantry can use. Phase two of the project is an attempt to set the database on track for future versions that can include a website, android app, and so on.

To create version 2 of the database, we are looking at how to configure Postgres, and will probably be using the psycopg2 Python module. For the web server, the wsgiref module will be used for testing purposes; however, a later version of the database will probably use a more secure web server, such as Apache (we may or may not reach this step, depending on the complexity of it). Finally, the web UI will be implemented using HTML, and, ideally, Javascript.

Sqlalchemy and TkInter were new experiences for us, and we are moving into even more unfamiliar ground, having little to no experience with HTML, Javascript, Postgres, or web servers. As a result, our progress may be a little slower than we would like, but we're looking forward to the challenge, and we welcome any helpful comments or suggestions you might have.

Tuesday, July 1, 2014

Revised Client Information Gui





This is the revised page with client select/search on the lefthand, and client information and editing on the right. I have tried to make as much functionality present on one main screen, but without becoming too cluttered.

 This should help move along the processing of clients when there is a rush.

Within a few days, the revised database functions should be hooked into this new set-up and there will be a fully functional model!

Tests & Trouble

The return for select_client has been simplified even more, so that it now returns a dictionary of objects. A file that can be used to test the update_all, new_household, and select_client functions has been added to the repository.

The hang-up at the moment, for the back-end part of the database, is generating CSV files using sqlalchemy. Figuring out how to select the right data from the tables, and get it written to a CSV file has proved tricky so far, but this will hopefully be resolved quickly.

In addition to researching the csv.writer for Python, we are starting research on PostgreSQL, and the built-in Python web server.