The title may be overstating my development abilities a little bit, but I did build a volunteer sign up site for a friend of a friend who was running for office in 2018. The candidate wanted to be able to have volunteers sign up to hand out literature at polling places in their district. I was asked to handle the front end, since the friend who asked is a former co-worker from when I did only front end work.
I had just upgraded an ng2 site at work to 6, so I thought, why not! I’ll use ng6, it can’t be THAT different starting from scratch at 6 vs 2. Well, it was different enough that in my time crunch, I didn’t have enough time to really re-familiarize myself with the framework to build in ng2. Someone I met at PHP Detroit in July 2018 had mentioned Vue.js in a then recent twitter conversation. I briefly checked that out as well. Though it may be quick to pick up, I didn’t have the time to do it and not completely screw it up, so I went back to what I’ve been working in the most — Laravel and Blade.
I have always been terrified of passwords, so this was the first time that I had actually implemented a log in of my own of any kind. And, it was… not that bad. PHP makes it a lot easier than I thought it would be, and really the data breaches that keep happening have more to do with server security (and terrible business practices) than with how I hash and salt the passwords before storing them. (But, like, if you’re new to coding, Rule #1: Don’t store passwords plain text. Don’t send them from your site to your server in plain text either.)
I didn’t know about all the cool auth stuff that is built into Laravel yet (because I didn’t read, I was in such a rush), so I manually wrote the authentication for the users, and, surprise surprise, I didn’t die, and the world didn’t end.
Another thing I didn’t get to do (because I didn’t control the database on this project) was use Eloquent or write any migrations. Which sucks, because now I know that writing migrations is actually fun! (Unless it’s the initial set up of a database, then it’s a beast and a half.) However, since eloquent still allows you use raw SQL, I was easily able to work around that problem.
As stressful as it was to build this and almost not make it in time for any volunteers to have time to sign up, it was a super fun project, and I learned a ton doing it. I learned to:
- Not be afraid of passwords (be paranoid about server security instead).
- Do not let the size of the project and the short amount of time paralyze you, it only makes the stress worse!
- If it scares you, do it anyway (though this is a lesson I need to learn over and over and over again, apparently.)
I will (probably?) clean it up and offer it as a part of the volunteer work I will be doing with FlipBlue on the 2020 election cycle. I’ve definitely gotten more politically involved, and I plan to use the skills I’ve learned at work, to work in a way that is more satisfying to me. This was a nice dip into that pool.