Categories
Uncategorized

Looking Back on the Winter

With just under a week remaining until our Alpha demonstration deadline, I’m am becoming more optimistic about our project’s progress. Initially, I had doubts about achieving our desired standard within the given timeframe. It felt that the separate functional parts had a long ways to go before they would be able to be integrated. Though our project still needs a lot of work, we are close to completing the essence of the system.

Currently, users can successfully register, log in, and receive a two-factor authentication code via email. They are then able to enter the code, with the next step being the completion of the verification process. In the past week, my focus has been on integrating the password database into the UI, allowing users to create, edit, and delete passwords. My current task is linking the user’s password database to their registered account.

Reflecting on our project’s development, I believe a more strategic approach to completing the functional areas could have enhanced the overall workflow. We divided the project into four sections—user registration and account handling, two-factor authentication, password database and encryption, and UI. These sections were tackled separately, resulting in different completion rates due to varying complexities. Consequently, determining the integration order became challenging.

In hindsight, reconsidering the sequence might have been beneficial. Integrating the password database after the user registration phase, followed by the addition of two-factor authentication, could have been a more effective strategy. Linking the password database and the user database is a crucial step that I personally think would have been beneficial to complete earlier.

Overall, I am becoming increasingly excited about our finalized product and am looking forward to refining the work we have completed this upcoming spring.

Categories
Uncategorized

Journey Into the Front End

In my capstone project, I have the responsibility of crafting the user interface and establishing the foundational structure of our web application. Because of my limited prior experience in web development, as mentioned in previous posts, delving into the realms of HTML and CSS posed a significant challenge. The process of translating the design I have in my head into code presented a steep learning curve. Of course setting up the basics is easy, but creating more sophisticated and cohesive designs proved more difficult. However, over the past weeks, I have reached a point where I feel confident in my abilities, and have been proud of what I have created. Every week, I continue to explore and incorporate new elements that enhance the overall quality of my design.

Surprisingly, my experience with JavaScript, being my second time working with the language, has proven more manageable than anticipated. Previous experience with React during my first JavaScript project has definitely contributed to this smoother transition. At this point, I feel like I have a good grasp on the technologies I have been using for my part of the project.

As I’ve started collaborating more closely with my teammates, I’ve started working in small amounts with Supabase. Thanks to my teammate’s effective setup of the tool within our project, I found integrating this technology to be a seamless process.

Categories
Uncategorized

Writing Clean Code

As my team and I begin to dive deep into development, I have identified a few coding habits that I want to change to avoid code smells and write clean code.

I like to think that I keep my code pretty clean. I use descriptive names, consistent indenting, sufficient white space and keep line counts to a minimum, all the things they drill into you in you first computer science class. But after reading an article written by software developer Claudia Sanjuan “10 Tips for Writing Cleaner Code in Any Programming Language“, one tip that I took away is to make sure that functions only serve one purpose, and keep them short. I think that when writing code, my first instinct is to solve my problem in one function. This leads to long complex functions, when the problem could have been solved in a manner of 1-2 simpler functions. Paying attention to when my functions should be split up into smaller, simpler functions is something I am going to work on going forward.

One habit I am working on breaking is saving dead code. An article “31 Code Smells All Developers Must Watch Out For” from software engineering blog Pragmatic Ways, lists dead code – code that is not being used in the programming or is commented out – as #4. I have a habit of commenting out code and saving it for later, worried that I might want to use it instead. But as the article mentions, that is the purpose of version control. In the future, I plan to make sure that I delete dead code I don’t need to clean up my codebase.

Categories
Uncategorized

Looking Back on the Fall

As we approach the end of the fall term, after reflecting back on these past few months I can say that this course has been much less scary than I expected. As we have begun the first steps of development, I am becoming more comfortable and excited about the project as a whole. I have been enjoying learning more about web development and brushing up on my CSS skills while designing the home page for our project.

The main challenge the team is currently facing is figuring out how to start integrating our parts to create a cohesive project. There are many moving parts and different ideas within the team, and I personally do not have a lot of experience working on large coding projects with multiple people. Most of my experience in the program is working alone or with one other person, so this has been a learning experience.

I am looking forward to winter term and delving deeper into development (after a much needed winter break).

Categories
Uncategorized

Secure Password Manager

For our capstone project, our team is developing a secure password manager. So far, the project has proven to be both challenging and exciting, with many uncertainties involved. In the recent couple of weeks, we have delved deeper into creating a comprehensive strategy to tackle this substantial task and have outlined each team member’s responsibilities.

I have the role of designing the user interface and constructing the foundational structure of the web application. I chose this role because it encompasses something I know I will deeply enjoy doing and something I feel that I could benefit from more practice with. I really love graphic design and designing user interfaces. On the other hand, web dev is not particularly my strong suit. I view this assignment as a great opportunity to immerse myself in the field and enhance my skills through hands-on experience.

This project presents a chance for significant personal and professional growth. I am eager to contribute to the team’s success and, in the process, elevate my proficiency in web development.

Categories
Uncategorized

Hello World

Hello, everyone! My name is Audrie Nielsen. I am nineteen years old and I am excited to be beginning my senior year at Oregon State. I have lived in the Beaver state my whole life. Outside of school, I work part-time as a barista and consider making coffee as one of my hobbies. I also love to play video games like Legend of Zelda, Animal Crossing, and a heavily modern version of Stardew Valley.

My journey through college has been a bit unconventional. After leaving high school at age sixteen during the height of the COVID-19 pandemic, I quickly earned my GED and enrolled in community college. I started out as a microbiology major. However, my journey took a significant turn when I enrolled in my first computer science class.

While I had dabbled in JavaScript through Khan Academy during my elementary school years, it was learning C++ during this college course that ignited a newfound passion for coding within me. My professor encouraged me to switch majors so upon transferring to OSU Ecampus the next year, I wholeheartedly embraced the field of computer science.

I have loved studying at OSU. Computer Architecture and Assembly Language, and Operating Systems I have been some of the hardest classes I have ever taken, but also some of my favorite. During my coursework, I have found that I particularly enjoy learning about lower level programming languages, which I would love to be able to incorporate into my capstone project. I am nervous but very excited to dive into my project in these upcoming weeks.