We are currently five weeks into the capstone project, and I have to remember to pause and think about how amazing it is that I am half a quarter away from graduating with my second degree. Sometimes, you can forget to look up and enjoy the scenery when you are in the thick of it.
So far, my favorite part of this project has been crafting the server/client registration page. In general, my two favorite courses have been Security and Web Development. Being in charge of creating the UI and functionality of the registration page combined both of these aspects. In my free time, I had been doing most of my work in MongoDB and playing with MongoDB Atlas. Most of that time was just to have functional databases, not caring what the front end looked like. One of my teammates has been a front-end developer for some years now, and it has been a treat to glean ideas off of him and have him make helpful suggestions that I can apply to this application. As a result, I am very happy with how the registration (and login) pages have shaped into existence. The UI is far beyond what I would have, or have, created.
One of the security aspects of the registration page was being able to hash out the password, so that the password that is saved in MongoDB would be secure. There are many sites that have in-depth information about bcrypt (which is what I ended up using) to hash a password. While the task, at first, seemed daunting, the process was surprisingly easy. Who knew that with only a handful of extra lines, you could create that much more security on the back-end of a website.
I will say this, though, having tools like ChatGPT and CoPilot are extremely useful. I have been using both, and I have been asking the same questions for both, because I have noticed quite a difference in the responses between the two AI tools. I can write up some code, feed it into either AI and ask a question about if a specific functionality is set up correctly. In this case, I asked about bcrypt and the hashing sequence for passwords. Both have limits as far as how you phrase your question. You may think you are asking a specific question, but either one might have a different idea on a response. While I like that the limit of code you can paste into ChatGPT is more extensive than CoPilot, I find that ChatGPT can have more limited responses or give unrelated responses because of how the question was phrased. One of my favorite features of CoPilot is that when you ask a question or have it look over your code, it will give you links to specific documentation that address either. This allows more me to read more in-depth answers, instead of just having an AI spit out a solution with no context. If I had to choose one, I would choose CoPilot. Not only do the answers seem more relevant to me, but the exposure to different resources that stem from my questions have made me more confident in my coding process.
I can’t wait to tackle the next set of tasks in this capstone. This class feels like the first time I am applying my skills to real world scenarios, instead of just theory and hypothetical scenarios that would never happen. Between my teammates and the project choice, this has been a great experience for me!
Leave a Reply