user landing area or dashboard

Greetings all.
I am building a sales management application where salespersons (about 100) and customers (about 500 for now) need to login and view products, make purchases, review sales, and create/edit their profiles in their respective areas. Only sales, not inventory, is being tracked. Payment processing is being handled separately at this time. Customers need to view/edit their profiles, browse products, and make product selections. Salespersons need to view customer sales as well as customer profiles and purchasing history. I have two questions:

  1. How do I design or what options do I have in creating the user and sales person landing (or dashboard?) areas?

  2. What methods do you recommend to make the two user types?
    Thank you.

  1. You can build whatever type of landing page that you can design and for which you can craft the necessary HTML / CSS / JavaScript.

  2. Superficially, I would be initially inclined to create these using the “Profile model” pattern for extending the User model. The various sales data would be stored in whatever tables are needed to represent the data being tracked - that data would not be part of the user profiles.

Thanks for the swift response. Regarding reply #1, can you direct me to any examples, guides, or tutorials that could illustrate how I can prepare such a website for Django? I understand basic HTML, I’ve built basic blog and messaging apps with Django, but I cannot visualize how to design the user landing areas and make them connect to Django.

You’ve mentioned you’ve already built a couple of basic apps in Django. There’s no difference between them and what you’re trying to do.

Really, it all boils down to you wanting to create a page that retrieves some data from a database, and render it as HTML. There’s no difference in kind between your landing page and a blog. The URL for the landing page gets assigned to a view in your urls.py file. The view pulls the data from the database; renders a template with the data as the context; and returns the response to the browser.

My suggestion would be:

  1. Start with the data. Identify what you’re collecting and what you want to display. (This means being very specific and getting down to the individual model and field.)
  2. Design the pages. Figure out what you want to show and how you want it to look. This also means being very specific regarding the data you wish to display.
  3. Design your view to create the data needed for #2 from the data available from #1.
  4. Create your template that takes the data from #3 to create an actual page.
  5. Create your url(s) to make those views accessible to your site.

(Others may order these steps differently - and that’s appropriate for them. This is the general sequence we follow for the types of work we do.)

That helps a whole lot! Thank you very much for taking the time today to answer my questions.