On Sun, Jul 19, 2015 at 12:49:50AM -0500, boB Stepp wrote: > In this thread, I kept it very general on purpose. I was probing this > community for their thoughts on two things: 1) Should I make the > software web-based or desktop-based? 2) What would be the best way of > handling the data involved, particularly the data that impinges on > student privacy concerns.
Not to be a wet blanket, but this is way off-topic for this mailing list. However, you're a regular in good standing, and we don't have a strict rule about staying on-topic (such rules are tiresome and annoying if they allow for no exceptions), so let's go with it. I would start with the simplest thing that can work. With an initial user-base of one person, especially one who is quite computer literate, you don't have to worry about backwards compatibility and can feel free to experiment and expand the software as needed. So I would start with something that just runs on the local machine. Since your missus intends to use a tablet, you may want to investigate Kivy for your GUI needs. http://kivy.org/ I'm not sure if it runs on Macs, but it should work on Android, Windows, and Linux, and of course it is entire Python-based. Once you have a proof-of-concept working for your one user, then you can consider how to expand on it by moving the data to a server and possibly giving access to others. In the meantime, keep everything on the local machine. Take backups of the data by exporting to some sort of regular file which can be zipped up and copied onto a USB stick and locked in a safe. You might consider an encrypted file system if the data is particularly sensitive. But that's a separate issue from the application itself. If you use SQLite for the data storage, it should have a simple "dump" function that would let you export the database to a standard SQL dump format, and reconstruct the database from said dump if needed. Otherwise you would have to write your own export/import routines. If you make the decision to provide multi-user access, then you have a large number of problems to deal with: - security of the database server; - access to the database itself; - what to do if the link between the app and the database goes down? - user authentication and permissions (you don't want little Freddy changing his grades, or accessing other people's records); etc. Why deal with those things from Day One if you only have one user? You don't even know if this application is going to be useful. Start with a proof of concept to prove that it is worth the extra effort. Perhaps your wife will decide that the application isn't useful at all, or that it is useful, but it can remain a single person app and no shared database is needed. But you won't know until you have something to actually experiment with. -- Steve _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor