Pages

Saturday, August 30, 2014

New Visit Display

Since the last demo, a few more features have been added - most notably, the volunteer login, the way visits are handled (displayed, edited, etc.), and the textbox with helpful prompts for food pantry volunteers.

Here is the volunteer login screen:


There is no password required at this point; all we are doing is getting the volunteer's id, so it can be recorded in visits, or the volunteer's information can be edited and viewed.

Here is the screen for viewing a volunteer's information:


When a volunteer is deactivated, they will not show up in the selection-menu on the login screen; however, an option in the "Actions" menu in the left-hand corner, will allow a user to view all volunteers, whether active or not.

When a volunteer is logged in, their id is recorded, and the next screen opens up. Here is an example client being viewed in the next screen:


You can see the textbox of helpful instructions on the left-side of the screen. These instructions are specific to the Provision Food Pantry that this database has been built for. 

Under visit information, there are many more options available. Selecting the new visit button, the visit information changes to the following:


 Note that the name of the volunteer logged in is automatically filled. The date is pre-populated to today, but can be changed if need arises. Longer notes are now possible. When the note is saved, the screen displays the following:


Selecting a visit from the listbox on the left will let you view the visit notes, the visitor that came, the volunteer that served them, and will also enable editing or deleting the visit.

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.