Skip to content
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

Implement Login with XXX Software (TBD) #13

Open
ThePyProgrammer opened this issue Jul 26, 2024 · 1 comment
Open

Implement Login with XXX Software (TBD) #13

ThePyProgrammer opened this issue Jul 26, 2024 · 1 comment
Assignees

Comments

@ThePyProgrammer
Copy link
Member

Some options (we have more freedom since anonymous):

  • Firebase RTDB
  • Firebase Firestore
  • MongoDB (if there's a decent free plan)
  • Supabase!

Data to get from User (on Sign Up):

  • (Nick)Name of Personnel (name: string)
  • Password as a Hash? Something to login in a secure manner? Tapping at @achrinza to help with this, or we can just use a proper OAuth provider
  • Age (age: number)
  • Gender (gender: string, one of Male and Female)
  • Type of Service (tos: string, one of NSF or Regular)

Data to track from User (Analytics):

  • Repeated Logins (store logins?)
  • Features Clicked On and Accessed (store actions??)

Potential Architecture for Analytics:

actions: {
    type: "login" | "click",
    (type == "click"): {
        activityName: string,
        entry: Date,
        exit: Date
    }
}

Note: 15 MINUTES SESSION TIMEOUT! (MINDEF Standard)

@achrinza
Copy link
Contributor

Password as a Hash? Something to login in a secure manner? Tapping at @achrinza to help with this, or we can just use a proper OAuth provider

I'm leaning towards using an off-the-shelf OAuth provider like Firebase Authentication (via React Native Firebase) or Auth0 for the time being. That way we don't have to roll our own protocol upfront.

I suspect we'll still need to use a database (e.g. Firebase RTDB / Firestore / others) to store the other user attributes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants