The admin area are the back office where you should build the features that you don’t want the customers to see. Out of the box, you can see the accounts, users and also the products and product subscriptions.
To be able to access the admin area, you need to create an admin user for yourself. You can do that in two ways.
Make sure that the server is running and visit http://localhost:4000/admin
You should be redirected to a page where you can create the first admin. Put in your email and press enter. You should be signed in and get an autogenerated password for you.
Enter the console by typing in the terminal
iex -S mix
Call the generate admin function and pass in the email address
MyApp.Admins.GenerateAdmin.generate_admin("john.doe@example.com")
=> {:ok, "john.doe@example.com", "xYCCRX8zxY-v"}
This should return an ok-tuple with the email and autogenerated password.
There is no admin forgotten password functionality. However, there is a login with magic link-functionality. Basically, just go to http://localhost:4000/admin/reset_password and type in your email and if it exists in the admin-table an email will be delivered. In development, you can see the sent email by going to http://localhost:4000/dev/mailbox
Clicking the link in the email (or paste it in the browser) allows the admin to login.
Some pages like the admin users page, are account scoped. That means that you need to select an account from the list of accounts up in the menu. The reason is that account scoped pages by design should be kept separate to avoid mistakes and data leakage.
The SAAS Starter Kit comes with a way to impersonate a user and go to the app and perform the action as the impersonated user. Visit http://localhost:4000/admin/users and select a user on the list. If the user is not in the list, select the correct account on the account selector in the top menu.