Dev Journal #5 - Login and Registration Client Interface



Choosing the Client Platform

The most common use case for this app would be during or right after a workout. I think it is fair to assume that most users will be on mobile. I decided to build a native Android app as the client interface because I personally prefer native app experience over web apps. I also wanted to learn Kotlin!

Logo and Launcher Icon

It took me longer than I’d like to admit to come up with an idea for the logo. I settled on something simple that I made through using a free logo maker site 😆

I chose sunset icon simply because I love sunsets and the pink looked nice. I know the look and feel is leaning more towards yoga and meditation but just bear with me until I can come up with something better. For the launcher icon, I used a gymnast performing an iron cross on the rings with a matching pink background.

Login and Registration UI

To learn about common practices, I looked through many other fitness apps. Some apps had a splash screen, some other apps had registration activity as the landing page, and some others had login activity as the landing page. I could understand the reasonings for each use case. Personally, I like having the login activity as my starting screen. It really doesn’t matter in the end because once you register and login successfully, you are unlikely to see this activity anyway.

Confirmation Emails

So far there are two cases for sending an email to the user. The first case is when the user registers an account. They must click on the activation link to be able to login. The second case is when the user forgets their password and requests to reset it. The second case gets a bit tricky because I am not using Django’s default web template forms. From my previous post, you can see that in order to make a password reset request, the user must first make a GET request to /api/auth/password_reset/ API endpoint. In this step, the server sends a CSRF middleware token in the response header cookie. In order to make the following POST request to the same API endpoint, you must provide back the same token to the server in the header along with other form data in the body.

Previous Post Next Post