# 2. Quick Start Guide for Beginners

For beginners, the quickest way to experience the magic of BayunCoreSDK is to create a simple app by going through the following steps:

1. As first step, get started with the overview video and the demo video available on Bayun’s website: [www.bayunsystems.com](http://www.bayunsystems.com)
2. Register a developer account with Bayun, and create a new application by following instructions in [Getting Started](2-getting-started) section. Make sure to create a new application secret with all the 3 roles enabled, so that the same app-secret can be used everywhere in the app for easy testing.
3. Get the Bayun SDK from [github](https://github.com/bayunsystems/BayunSDK), and integrate it into your project/application as per section [Integrate Bayun SDK](3.-installing-bayun-framework). Look at the code of [Hello World app](https://github.com/bayunsystems/BayunSDK/tree/master/iOS/Quick%20Start/Hello%20World) for simple ways to use different functions of Bayun SDK inside your own app in order to secure user data.
4. For user login, after going through the instructions in the [Authentication](4-authentication) section, just use the **loginWithPassword** function listed under section [Login With Password](4-authentication/5.3-login-with-password), and make sure to set **autoCreateEmployee** parameter to True, leaving parameters **securityQuestionsCallback** and **passphraseCallback** to null. This will do away with the need to go through separate user registration flow altogether, as it will create the user account automatically if it doesn't already exist. It will also avoid having to understand the other login flow using **loginWithoutPassword** for now, which is more complicated and can be used later for advanced functionality. Do make sure that the actual passwords you use for creating any accounts are not lost, as there is no way to recover from a lost/forgotten password while using this function for user login!
5. After successful login, you can simply call **lock** and **unlock** methods listed under [BayunCoreSDK Operations](5.-bayuncoresdk-methods) for safe encryption of user data. For Encryption Policy, just use the policy **Employee**. It will ensure that none other than the user can access their data. Actually any policy other than Group policy is fairly simple to use. However use of Group policy requires more advanced functionality with separate Group Management described under the section [Groups](6-groups), which can be skipped for now.
6. Optional: Join the [Bayun Developer Community Slack](https://join.slack.com/t/bayundevelope-do87454/shared_invite/zt-1z7x9wqpy-ttZ8rRCD7EzotiTzejke~Q) to get help and support from Bayun’s own team as well as from other developers using Bayun SDK.

Once you have a simple test app working, you can explore more advanced functionality by going through the rest of the documentation, and slowly refining the app in different areas. For example you can use the **Group** Encryption policy with an arbitrary group that you can control the membership of (e.g. see the [Groups](6-groups) section). You can also try using **loginWithoutPassword** function for user login listed in section [Login without Password](4-authentication/5.4-login-without-password) (which does require separate user registration as per section [Register without Password](4-authentication/5.2-register-without-password)), as it is designed to be used by humans (with optional Facial Recognition) and is also robust against lost/forgotten passwords, etc. For these advanced functions, you can look at example usage in the other test app(s) included in the github repository, like [BayunS3](https://github.com/bayunsystems/BayunSDK/tree/master/iOS/TestApps/BayunS3).
