This sounds, to me, like a great candidate for using Django.  Each of
the separate modules you described could be a distinct application
within your project.  Actually, you could make it even more granular
than that, as a lot of the parts within each module could be separate
apps.

The Django permission system will probably already be able to handle
what you need--with no tweaking--and the automatic admin interface
might handle almost all of your app's needs.  It looks like you'd want
a "public" side for the teacher aspect, but you could still put that
behind a login.

As for the networking--in the case of my app, I didn't want to give
each client direct access to the database server.  The server that I
wrote is the only thing that connects to the database, and it handles
permissions.  You should *never* rely on the client apps to do the
"right thing", as you have no real control over them.  You can lock
access down to specific users or groups (in postgres), but that can be
a very arduous, and doesn't always work for your business logic.

-Jeff

On Nov 25, 11:45 am, "Saurabh Agrawal" <[EMAIL PROTECTED]> wrote:
> Hi,
>
> Thanks for the wonderful inputs.
>
> All right, I will give you the actual scenario and maybe you  guys can help
> me further:
>
> I think the application should have 4 modules, interconnected with each
> other and accessible via proper user perms:
>
> 1. The front office: This will have all student records, their results,
> records of staff etc. + Fee/Donation collection, salary distribution modules
> etc.
>
> 2. The academic administrator: This will have all academic records of
> students +  managing academic calender + this might also have certain
> modules for *building up* question/activity bank for students etc.
>
> 3. Manager: This will have financial records + inventory + bus management
> system etc.
>
> 4. Teacher: This will have all basic info + academic records of students +
> *viewing* question/activity bank.
> (This module might be accessed via 2-3 PCs kept in staff room)
>
> I want to have good UI for creating & viewing question + activity bank and
> also managing academic calender, as that will be used by people who are not
> much computer savvy. Rest I guess, would be mostly data manipulation.
>
> I think not much networking is involved here, right, apart of course from
> accessing the database server?
>
> I guess, now that I have read your emails and have noted down my
> requirements, I would rather go with django, right?
>
> Thanks once again!
>
> Regards,
> Saurabh.
>
>
>
> On Tue, Nov 25, 2008 at 9:40 PM, Jeff FW <[EMAIL PROTECTED]> wrote:
>
> > Saurabh,
>
> > I have spent the past year developing a GUI application (using
> > wxPython) that communicates with a server (using Twisted), which
> > connects to a PostgresQL database (using SQLAlchemy.)  It has been a
> > very rewarding experience learning and using all of these tools.
> > However, the learning curve was quite steep--especially getting all of
> > the libraries to work with each other.
>
> > I've also worked on a number of Django web applications in the same
> > time.  Having written web sites/applications since the early days of
> > the web, I can safely say that Django is the best tool for doing so.
> > Period.  It makes me regret the years I spent working with PHP.
>
> > You obviously have serious programming experience--C++ (especially
> > graphics work) is much harder than anything you'll be dealing with for
> > this application.  So really, it depends on what set of tools you
> > *want* to learn.  HTML, CSS and (basic) Javascript are very easy to
> > pick up--almost negligible when compared with learning a GUI toolkit
> > and networking library (or dealing with connections manually, which is
> > very painful.)
>
> > Another thing to consider are deploying the application.  With a GUI
> > app, you'd need a way of deploying and updating for every machine it
> > runs on.  With a web app--make your change on the server and you're
> > done.  How many people would be using the app?
>
> > Then there's the matter of how complicated of an interface you really
> > need.  What does the application need to *do*? For most things, a web
> > app would suffice.  I went with a desktop app because (eventually) the
> > app will need to incorporate a very UI-intensive scheduling module.
> > If most of your app will be simple forms, and displaying lists of
> > data--go with Django.
>
> > I started writing this e-mail with the intent of giving a balanced
> > opinion, but it seems that I think you should go with Django.  If you
> > can tell me more about your app and what it will need to do, I can try
> > to give you some better advice, but really, it boils down to this:
> > writing a GUI app will take *much* longer than writing the equivalent
> > with Django.  However, you may have to sacrifice some usability.
>
> > -Jeff
>
> > On Nov 24, 8:24 pm, "Saurabh Agrawal" <[EMAIL PROTECTED]> wrote:
> > > Hi group:
>
> > > I hope that you good people here could help me with a decision I am
> > finding
> > > hard to make.
>
> > > I am about to develop a MIS type application for a Non for profit
> > > organization teaching young children in India.
>
> > > I am trying to use this opportunity to make myself learn python, and if
> > > required the whole web based development paradigm using django.
>
> > > I have experience of c++ graphical algorithms development.
>
> > > Now obviously this application would be database based and database
> > > manipulation would be the major part. It would be mostly used across
> > desktop
> > > computers in the organization running Windows XP. The decision which I am
> > > unable to make is that should I use django for this project? My issues
> > are:
>
> > > 1. This application would be run on desktops, so GUI toolkits such as
> > PyQT
> > > might suffice.
> > > 2. Making good interfaces for web would require additional learning on my
> > > part such as HTML, CSS and Javascript, an area  in which I have
> > absolutely
> > > no expertise, just a very basic idea.
>
> > > So what do you guys suggest? If learning the above things would still
> > give
> > > me an edge( in terms of time required for development) over PyQt based
> > > interfaces, in terms of automated databse manipulation tools such as the
> > > admin interface, I would go for it and it might be a good experience for
> > me.
>
> > > Thanks for reading this slightly incoherent and maybe off-topic mail.
>
> > > All suggestions are welcome and I would be grateful for them.
>
> > > Regards,
> > > Saurabh Agrawal.
>
> --
>
> virtualmic.wordpress.com
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to