Auth block of code for any VIPER app

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.mp4

1.2.mp4

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

view.and.error.handle.mp4

view.and.error.handle.mp4

view.and.error.handle.mp4

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

loging.mp4

deleting.mp4

Firbase responses

Firebase_Auth creates user account

Firebase_Database creates user account

Firebase_Database deletes user account

That is all. Thanks for watching!

GitHub

View Github