Authentication-block
Hi! That’s my Authorisation app using VIPER.
Here it is.
Project flowchart
File | Description |
---|---|
1. Router | Asks AssemblyModuleBuilder to create Modules (Presenter + View) and presents Modules on the screen. |
2. Assembly Module Builder | Creates Modules |
3. Network Service | Contains all the network methods: internet connection check, images downloading, etc. |
4. Firebase Service | Contains all the Firebase methods: log in, sign up, log out, delete user account |
5. and 6. Presenters | 1. Contain all the methods that connect the views and the network layer, the views and the router. 2. Can manage the views. 3. Are independent from each other. |
Views | 1. Contain only UI methods. 2. Are independent from each other. |
Interface
Registration process
1.0 [StartHereViewController] First module: — internet connection check — error handling — downloading random screen-size image — button pushing presents SIGN IN / REGISTRATION modal screen
view | error handling |
---|---|
|
|
1.1 [SignInViewController] SIGN IN / REGISTRATION modal screen — internet connection check — error handling — checking the data in the text field — button pushing presents PASSWORD modal screen
1.2 [PasswordViewController] PASSWORD modal screen — internet connection check — error handling — checking the data in the text field — button pushing presents either REGISTRATION modal screen or LOGGED IN modal screen
1.3 [RegistrationViewController] REGISTRATION modal screen — internet connection check — error handling — checking the data in the text field
1.1 SIGN IN / REGISTRATION modal screen | 1.2 PASSWORD modal screen | 1.3 REGISTRATION modal screen |
---|---|---|
|
|
|
2.0 [LoggedInViewController] LOGGED IN modal screen — Label shows username — Button for logging out — Button for deleting account — Deleting confirmation with the alert controller
view.mp4
The process of logging in and deleting an account
logging in | deleting an account |
---|---|
|
|
Firbase responses
Firebase_Auth creates user account
Firebase_Database creates user account
Firebase_Database deletes user account