What authentication do you use in your app? Google Accounts API / Google
Apps Domain? Custom authentication (e.g. webapp2)?

Is it intentional, that you mix authentication and roles into the same
"person data"? If your app is more than rudimentary, I suggest to separate
both concerns. Especially if it comes to authentication and user-related or
other sensitive data, you don't want to replicate and maintain the models
and code all over the place. In an ancient map, this territory would be
named "Dragons Here" ;-)

What is the nature of the relationship between admins and customers? Is
admin a key-account manager of these customers? Can one customer have more
than one admin assigned? Or do you actually want to implement a
multi-tenancy system with strictly separated customer data? In that case,
namespaces could be a better approach.

Although, there are plenty of questions remaining, here a rather generic
suggestion for your models:

User (for signup, login, password forgotten etc.)
- id/name (e.g. from Google, or your own)
- name
- email
- password (*hash it or eternal hell awaits* - better use Users API, if
possible)

Admin
- id/name (same as in User?)
- phone
- address

Customer
- id/name (same as in User?)
- phone
- billing address
- invoice address
- admin: key (repeated?)

Basket, Purchase, Invoice,...
- parent : customer key
- id/name
- items
- date
- status etc...

User, Admin, and Customer would be with-out parents, that is, each forms
its own entity-group. You would get strongly consistent views per customer
with all their baskets, purchases, invoices etc. (but not a strongly
consistent view across all customers of an admin).

If you want to prevent that a user can have more than one admin role or
more than one customer role, you could assign the user ID/name to the
associated admin or customer role. For example: Key(User, 123) ->
Key(Customer, 123).

It would also help to consider your most frequent use-cases, i.e. which
request handlers will be used most of the time and are most important (e.g.
little latency for customers). Then evaluate what kind of datastore
operations these request handler need. What information is read or queried
and is eventually consistency ok or is strong consistency required? What
information is written to the datastore and which of them must be inside
transactions? Also how often will you need to write into the same entity
groups? Answering these questions will help to decide how to model your
entity groups, how granular or big your entity kinds are, which properties
to index, or where you need a composite index.

On Wed, Apr 6, 2016 at 11:26 AM, Spmadhu Priya <[email protected]>
wrote:

> Hi,
> I want to store the data like below.
> Suppose i am registering one person data
>
> 1. first admin_Username admin_Password admin_EMail
> 2.second admin_Username admin_Password admin_EMail
>
> This above data is for sign up
> Now i want to store the customer details of that account
> For example
>
> under this email 1.Admin_email
>
> 1.firstcustomer name , email, password, address,phone number
> 2.second customer name , email, password, address,phone number
> 3.third customer name , email, password, address,phone number
>
>
>
> under this email 2.Admin_email
>
> 1.firstcustomer name , email, password, address,phone number
> 2.second customer name , email, password, address,phone number
> 3.third customer name , email, password, address,phone number
>
>
> Can you suggest me any of the techniques to store and retrive.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/google-appengine.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/google-appengine/28f34a6b-b299-4d73-8ee9-8627cb64fba1%40googlegroups.com
> <https://groups.google.com/d/msgid/google-appengine/28f34a6b-b299-4d73-8ee9-8627cb64fba1%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 

Mit freundlichen Grüßen / Kind regards

i. A.
Anastasios Hatzis

Fon: +49 8374 930813
Fax: +49 8374 930810
Mobil: +49 1520 8592878

-- 
HATZIS Edelstahlbearbeitung GmbH
Hojen 2
87490 Haldenwang (Allgäu)
Germany

Handelsregister Kempten (Allgäu): HRB 4204
Geschäftsführer: Paulos Hatzis, Charalampos Hatzis
Umsatzsteuer-Identifikationsnummer: DE 128791802
GLN: 42 504331 0000 6

http://www.hatzis.de/

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/CAABQH8Y7MOz1s9wOf7WX_%3DWoz8a5h8x_Hgbt8tzC1Uozce0%3D5Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to