Hello,
A short background:
I'm about to develop a web-based portal for my friend's company that deals with cleaning services of all kind, and I want to try out Django for this. In brief, the portal should consist of a database with data on employees, customers, contracts, work orders... and upon this there should be an interface for administrating everything related, such as adding customers, contracts and so on. There should also be an interface for the employees, for viewing work orders, today's agenda (e.g. go to customer X and do task Y) and register time put into a work order and closing it. In the background, work orders are supposed to be created automatically based on what's agreed upon in a contract (e.g. customer X subscribes on task Y on interval Z which should be handled by employee A).
A company's internal business database system pretty much, and nothing new under the sun. Perhaps accompanied by an external website further on.
Now on to the questions.
- Do you think Django would be suitable for this?
- Do you have some spontaneous ideas and/or pre-made code snippets that could be handy (like a calendar)?
- How would you structure the project;
- Everything in one app, or how would you split them? One for employee interface, one for admin interface (perhaps use the built-in admin system), one for external website? Is this bad design?
I would like to design is such that it will be easy to expand, e.g. with statistics on hours worked, integration with invoice system, database accessible by Android app....... or whatever. But being new to Django I'm not really comfortable with basic design principles.
Any input is appreciated and of course I'm reading up in Django Book, watching YouTube videos and exploring code as much as I can.
Well, I do not totally agree with your point.
The problem with virtual environments such as these is that you have trouble sometimes figuring out what actually happens behind the scripts that are used to initialize your environment. Thus comes a natural habit that I personally developed which is to say, whatever external tool that you need a specific version for, get the latter version and install it within a directory that would look like something of this kind /external/django/bin/
And add that directory to your Django project path in your settings.py
This has the advantage to let you know when you deploy your app, which are the real specifics that you need to install back again on your development server.
Did that help ?
Again, it's my personal opinion. Be careful to choose what suits you.
--
Issam Outassourt
--
You received this message because you are subscribed to the Google Groups "Django users" group.
Lachlan Musicman:
You recommend using virtualenv. Why and in what scenarios? If I understand it correctly, virtualenv sets up a virtual python environment galvanically isolated from the rest of the system and I see how this let you go crazy and experiment without risking anything. Is this the main reason why people use it or are there other reasons?
Issam Outassourt:
Thanks for the summary of the major components of Django. I've read about models, views, templates et c and played around with them some, but it's very easy to get stuck on details and forget the big picture. The methodology you describe seems quite simple and straight-forward and I guess it all comes down to what I guess is your (and Lachlan's) point: get busy and learn on the way.
Thank you for the replies.