-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backend for managing User IDs #22
Comments
Hi @ainsleys , Questions:
|
Hey @cmalfesi That architecture seems reasonable to me! re: questions
Thanks @cmalfesi ! |
@cmalfesi I think a google sign in is OK also happy to do MongoDB + node js Regarding other data fields:
|
@cankisagun @ainsleys I will create an MVP of this issue during the day, I hope I can have something tomorrow. |
FYI: I have forked this project and added a backend subfolder for add the User API endpoints. |
Wait, why nosql for this? this seems like a classic case for relationality, maybe postgres? |
@FishmanL a request for more context in your comment please, many people need to follow this (please note what advantages postgres would confer over current mongoDB solution). We're unlikely to modify anything for the MVP unless the case is really compelling, and afaik mongoDB works fine for this. Appreciate the input & the clarification! |
Sure -- so, mongo (and similar nosql solutions) are good when you have unstructured data, that you might need to modify within DB, and that doesn't need to scale to lots of users quickly. In this case, you have very structured data, it's static once posted (all you're doing is adding new rows) and it needs to scale to lots of rows quickly. All 3 of these point to using SQL/a similar structured RDBMS, and with postgres it takes like 3 min to stand up a normalized schema for something like this (user table mapping user info to IDs, location table mapping user IDs to lat,long,time) |
@FishmanL Just to be really clear, this server is only managing unique I'll let @cmalfesi make the call on what approach is sufficient for MVP, but I think we can optimize down the road. At the end of the day, this setup (database + loginAPI + frontend) is all part of the client app, which for our purposes is a prototype that demonstrates the SafeTrace API, so optimization is probably out of scope for the time being. Open to other perspectives, tho. |
Ah, aight, then it's still best to have it as postgres/another sql install
but it's less necessary.
…On Fri, Apr 3, 2020, 12:22 PM ainsleys ***@***.***> wrote:
@FishmanL <https://github.com/FishmanL> Just to be really clear, this
server is *only* managing unique userID -> email, password . It should
never deal with lat/long/time, that needs to be passed directly from client
to the SafeTrace server running code in the TEE.
I'll let @cmalfesi <https://github.com/cmalfesi> make the call on what
approach is sufficient for MVP, but I think we can optimize down the road.
At the end of the day, this setup (database + loginAPI + frontend) is all
part of the client app, which for our purposes is a prototype that
demonstrates the SafeTrace API, so optimization is probably out of scope
for the time being. Open to other perspectives, tho.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#22 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AE32NMED53S2XBCSJHKISGTRKYELBANCNFSM4LVFUKMA>
.
|
I concur with @FishmanL's assessment. |
Hey @FishmanL , thanks for your feedback! You are totally right, I agree with you. I have proposed just a quick solution for start asap the MVP without having the perfect analysis of the data structure and how it will change in the path. In general, I like to use MongoDB for things that are not 100% defined and we can always change with fewer efforts, different the case that we have exhaustive analysis about how the data will be used. |
@ainsleys @cankisagun I have uploaded the last changes on my Github on this branch: |
Hi @ainsleys , @cankisagun This PR includes:
In the readme, you can find the instructions to run it locally. |
Hi, |
This server should store
userID
,email
, andpassword
, and enable users to log-in to theiruserID
in the front-end application. It should also enable the front-end to submit theuserID
along with other user-submitted data via the SafeTrace APIThe text was updated successfully, but these errors were encountered: