Tasker

Dillon D Nguyen
3 min readMay 5, 2021

In the end of Phase 3 at the Flatiron Software Engineering boot camp, I’ve decided to make a simple task managing app called Tasker. Tasker is mainly built with Ruby on Rails and demonstrated the some of the possibilities that can be built using this syntactic sugar of a language.

First, what Tasker does is allow you to Manage what you want to do, and added capability, add tasks to the missions that you want to accomplish, like organized steps in to finishing a project you set out to accomplish.

List of Missions and Completed Missions for the User Homepage
This is the mission itself and under the mission ”Exercise” are a list of tasks at which the user can delete by clicking the trash/garbage icon

One of the bigger functions we needed to implement was the third-party authentication which in this case I chose the ability to log in Tasker using Google. There are many tutorials on how to use Omniauth, which is a gem that can be implemented almost seamlessly into our third party login function.

Small and simple login page for Tasker

One of the biggest takeaways from this project was the debugging. I spent way more time debugging the project than actually making the project this time all due to an oversight of mines. I’ve spent countless hours googling and using Stack Overflow in order to account for this bug which caused me to refactor the code in hopes of fixing my project.

However, if you are building your project out with Ruby on Rails, the oversight Ihad was concerning a parameter not being “Fulfilled” because this said parameter (in this case, ‘password’) was being asked for twice. It turns out that this one line for my validations, I used for my general validations, was causing my program to require two passwords, when Tasker only required one password. So the error raised kept alarming to “Password can’t be blank,” which is understandable, but didn’t make sense to me at the time. The main takeaway is to make a separate validations for each item (e.g. Username, Email, Password), yes seriously, keep them separated.

The line Highlight near the top caused me stress. We do not need this line because the app can only validate one of each of these items and we do not generate two passwords, meaning the second password that the app will look for (if we left that line in) the second password which will be left blank and not get through the login process

Understanding how to use a third party authentication, scope methods, making routes, has many to through, many to many, and using rails generation/migration/resources we some of the biggest learning experiences from this project, and of course debugging using binding.pry and byebug. thanks for taking the time to read and the journey continues.

--

--