π Authentication
On the surface, Hudi Auth does what you would expect, it ensure only users with the right credencals gain access to accounts however, under the hood it is ensuring that for each user created with Hudi it also creates a user with each API connected to Hudi to ensure the user has access to all features and it also handles all permissions.
The documentations is devided into the following focuses
- Details
- Design
- Develpment
- Launch
Descriptionβ
Users will have the option to sign in using an email, phone and password or with Google, Facebook or their Apple account as well as a "keypass". The user can also select βforgot passwordβ, register and set up two-factor authentication. This functionality will be separate from creating a company however a user must have gone through auth to access a company. Users may skip auth and access many features, apps, products and content, however each app must strictly specify what is or isn't accessible such as purchases, subscriptions, etc.
Mini Apps Each app should check whether a user is logged in and what the permissions are. This will ensure that each mini app can operate independently.
Statusβ
These details are only updated with each release, for more acurate updates and keeping track of progress, see the task in GitHub.
| Owner | Lead | Doc Status | Product Status | Last Update | Version | Release | Phase |
|---|---|---|---|---|---|---|---|
| Mendy | Raphael | In Progress | In Progress | 04.03.2024 | 0.05 | Limited | Alpha |
User Storiesβ
Persona One
As a first time user I am not sur I want to create an account and provide my details, I would like to access the app without auth but still be able to ave a good experiance. If I like what I see I want to be able to create an account without losing the things I have already saved or watched.
Remindersβ
Keep in mind the following practices and reqerments
- [Compatibility]
- Responsive
- Deep Link
- GoRouter
- Release Guidelines
- Documentation
Links & Resourcesβ
User Flowβ
How a user can end us at auth
- Splash views > Auth
- Intro > Auth
- Account Preferences > Auth
- Auth Prompt > Auth
Where a user goes after auth
- Auth > Onboarding
- Auth > Home
- Auth > Return to source
UXβ
Mobile
Web Coming Soon
Development
Before you start developing you will need to setup your environment, if you have not done that yet visit Development Envietment.
In this tab we will focus on everything related to the Development, we have further devided the doc into the following tabs
- Data
- Backend
- Endpoint
- Frontend
Data
The Auth data will be stored in the Account Model
Tasksβ
-
Create Auth endpoint in Hudi API
-
Create Auth Docs
Functionsβ
Featuresβ
-
Email Auth Allow users to login using their email
-
Social Auth Allow users to login using their social accounts (facebook, google, etc.)
-
Anonemus Auth When a user chooses to skip auth, create an anonomus account for them
-
Phone Number Auth
-
KeyPass (Biometric, Face Recognition & Pin)
-
2FA
-
Sync auth/accounts
when a user is authenticated with in the Hudi Backend, make sure they are also authenticated with any third party APIs we use.
Dependiciesβ
- Firebase auth
Endpoint
To authenticate an account, use the Account Endpoint
Widgetsβ
Dependenciesβ
Viewsβ
These are the views that make up the user experience of a complete and independent product, while many of these views are shared across multiple products, they are customized to serve a Uniquely "podcast" experience to the user.
- [Auth] This is a dynamic view, rather than have a religter and login view, this one view handles both, we simply change the header text and the field can do both login and register, depending on if an account if found or not
Featuresβ
Below is a list of features that will be utilized in order to deliver a great podcast experiance. The details bellow are not comprehensive feature details but rather, describe how the features will be utilized withon the podcast product, for further details, please see the individual feature documentation.