Network/multi-user program

Monte Milanuk memilanuk at invalid.com
Mon Jul 21 18:07:22 CEST 2014


So... this is a fairly general / hypothetical question, and I'm more
looking for direction than specifics - though it may be useful as well.

I need to create a particular application for administering a sporting
event.  95% (and this may be understating the case) of the 'users' would 
likely be single-machine, single user scenarios.  For those exceptions 
(which are important enough that I'm concerned over them) there would be
one person 'administering' the event and a small number of others
(probably <5, no more than 10) doing basic data entry - competitor
registration and later entering scores.  Before (setting up event), in
between (squadding competitors based on classification, equipment,
available positions on relays, etc.) and taking care of final reports
for awards, etc. would be done only from the main program.  The
end-users are likely not tech-saavy, and most likely running Windows or
maybe a Mac.  Being able to do the data entry from a tablet would be
nice but by no means necessary.  Installation needs to be as
stone-simple as possible - running from a pre-configured USB stick or a
browser would be ideal.  Use would be over small wired or wi-fi LAN
enviroment - no exposure to Internet.

Given that the vast majority of the 'work' is going to be done on one
computer by one user, but wanting to retain the flexibility/ability to
later have addtional 'clients' connect for data entry purposes... I'm
trying to decide what would be a better option:  create a stand-alone
GUI desktop app and figure out how to create a separate 'client'
program that can connect and perform basic CRUD operations, or start out
with some sort of web framework and have everything literally run from
the 'server' via a browser-based interface.  The scope of the project in
terms of users appears to be small enough that using something like
sqlite would be feasible (the data entry clients would not be working on
the same records), and the small development web servers that most
projects like web2py, flask, django come with should (maybe?) be able to
carry the (minimal) load as well. 

Having to throw html/css/js plus browser compatibility issues on top of 
everything else starts making the project look a whole lot bigger than 
I'm comfortable with... but on the other hand I have no idea how to go
about connecting a client app to a running GUI program either.  The
whole project is fairly ambitious for my current skill level (basically
small addressbook/task-list type apps) but I figured I'd have to
stretch/grow a bit either way I go.

So I guess I'm asking for advice or simplified examples of how to
go about connecting a client desktop app to a parent/master desktop app,
so I can get some idea of how big of a task I'm looking at here, and
whether that would be more or less difficult than trying to do the
equivalent job using a web framework.

Thanks,

Monte




More information about the Python-list mailing list