Categories
Uncategorized

Cookies

Something about website development that has always mystified me has been the cookies.  Overall, as a concept, I’ve understood what they do, and how they work, but when it comes to practice, I am at a loss.  So, when it came to the Job Tracker application, I learned that I would have to deal with user login, I got very scared.

For those who don’t know, I’ll explain the general concept.  When a user logs in to a website, their information is authenticated on the server against the password they have stored previously, and if that is successful, then the server will generate a cookie that stores basic information on the user like their user id or username, and that is sent back to the user.  This cookie is then stored on their system, and every time they access the website again, if the cookie is still valid, then they are given access to pages that are specific to them or show them the logged in version of the website.  When a user clicks on any page, generally there is a check to make sure that they can even view the page.

Conceptually, this all makes sense to me.  However, in practice, it has never been that easy.  Every single time I’ve wanted to code a website with some sort of user log in, I’ve had to spend several days researching tutorials on YouTube, and usually everyone has different ways to go about it.  Overall, another concern to me, was the privacy and safety of using cookies in general, which put me down a several-day long rabbit hole of how to even program user login, authentication, and authorization.

My initial plan with our capstone project was to create a user login and an authentication API using Nodejs that would send a cookie back to the front end. I had researched this for days as previously stated, and was given a lot of conflicting information on cookies in general. So, after this I had also integrated JSON Web tokens in to my cookie to ensure that it was safe. My biggest fear was what to do with the token on the front end of the website after it was created, and decided to back-burner the concept until more functionality was complete in both front and back ends.

Ironically enough, the answer to all of our problems came to us in the form of the front end library we were using. When one of the front end engineers in my group showed me the starter website that is created using Remix had successfully logging in a user, and displaying their name. I realized that there had to be some way this information was getting there. Luckily for us, as it turns out, the starting website when you create a new Remix application already has code to handle showing logged in users certain pages, and the login process using their Primsa database.

After reading through, and playing with the code of the Remix front end for a few hours, I came to learn that the user id is retrieved from the database, and that is stored in the cookie. This is something that could easily be replaced with an API call to get the user’s id from the API. Just like that, my long research process of trying to understand cookies ended by working smarter and not harder.

Categories
Uncategorized

Woes of Job-Hunting

It is no secret that job-hunting for most people is not fun. In fact, if you like job-hunting or overall enjoy the process, consider yourself a unicorn.

Last year during October, I pushed myself hard to find an internship, I spend most of my free time outside of school hunting. It was a process that was long, rough, and it made my imposter syndrome far worse. At the end of this long process, I finally got an internship with a company asked me about my personal projects which related to the job far more than any coding assessment and impressed my manager.

Excerpt of my compiled job-hunting Google Sheet.

Now that October is here again, and my graduation quickly on the horizon, I am in full swing of job-hunting once again. In an effort to really see how much work I am putting in to this process while in school, I decided that I was going to track the jobs that I applied to in a Google Sheet. I am also someone who tends to like numbers, given that my first degree was in Mathematics with a focus on statistics. I was greatly interested in the numbers game I would be playing trying to find an entry level job during an economic downturn right before I graduate.

Current running total of my job applications, rejections, ghosts, initial phone screens, interviews, and offers.

Ironically, when my capstone group was given the list of potential projects we could do, the fact that two of us were job hunting was a huge reason why we wanted to do the job tracker project. Not only this, but the two of us were also compiling similar lists of what jobs we had applied for. We realized that we knew really well what the end user’s needs would be for a website like this. Not only this, but we had a lot of data we could use for the development database, since we both had very similar tables. As a group we also understood that job hunting will never be fun, but making it easier to track what jobs you have applied to, and have numbers on it, does make life a lot easier.

While job-hunting is a long and difficult process, luckily as a group we were given the information and drive to make something of it. Hopefully the job-hunt gets better in the future, but while that happens we get to make a really cool project that will help us in the future.