Today we’re going to be talking about technology. Not technology in a general sense, but technology as it applies to our Furever Matchup Project. If I had to make a change to any of the technologies being used up to this point, I would probably have to say that I’d want to change the server capability. I have yet to get an actual server up and running, so it only runs as a local instance. While this is great for testing purposes, it makes it challenging to imitate or test how things would work with multiple inputs happening at the same time, or even if multiple people were making edits at the same time to the same profile.
I don’t think that it will be something that is really difficult to implement, but it is something that I’m starting to think about more because I think that it will be an important aspect to how it functions overall. I think that we already have in place the technologies that would be needed, so it’s more a matter of just getting it into place.
While this isn’t changing the actual technology itself, it is more changing the functionality or improving on it. I still think it is becoming an important part that we need to get set up so we can test everything in a more natural environment to what it would actually be as an online application/website.
On a side note, I was just realizing that to create shelter profiles we currently have it all set up to require that the shelter require with a lower case ‘s’, but I feel like this is really kind of odd, so maybe I would look at changing how that is set up.
Overall, everything is coming along nicely, everyone is working well together and communicating openly and efficiently. Everyone is completing what they are committing to, and the project is starting to come together quite well.
Winter Blog Post #1
This week for our blog we are reading an article on clean code and an article on code-smells. I decided to read Mikel Ors’ “Clean Code – A Practical Approach”, and Christiaan Verwijs’ “In-Depth: What Scientific Research Has To Say About Technical Debt And Code Smells”.
One thing that I would like to start practicing more frequently is clean naming. Meaningful and descriptive names are foundational to writing code that’s easy to read, understand, and maintain. [1] A well-named variable or function communicates its purpose without needing extra explanation. This saves time for anyone reviewing the code at a later time, including myself. (Let’s be honest, I’m going to forget the specifics of what I’ve coded six months from I originally coded it.) By choosing expressive names, my code becomes more clear, reducing the time it takes to interpret what the goal of the code is.
Conversely, I would like to avoid the use of spaghetti code. Spaghetti code refers to a long, messy block of code that lacks proper structure or clear logic, making it difficult to debug or interpret. [2] There are numerous contributing factors to this: rushed decisions, lack of foresight, pressure from management, ignoring the principles of modularity. To avoid this, using helper and support functions instead of repeating code or forcing one function to perform numerous different actions goes a long way. This also makes code more easily reusable.
The development team for Furever Matchup is dedicated to utilizing clean naming practices and avoiding spaghetti code as much as possible. This will contribute to more easily understandable code and better collaboration, which will reduce technical debt and contribute to a lesser number of bugs along the way.
Resources
[1] Ors, M. (2024, January 29). Clean code - A practical approach. Medium. https://medium.com/clarityai-engineering/clean-code-a-practical-approach-896546435235
[2] Verwijs, C. (2022, August 29). In-depth: What scientific research has to say about technical debt and code smells. Medium. https://medium.com/the-liberators/on-technical-debt-and-code-smells-ae8de66f0f8b
Blog #3
Hey there! We’ve been making some decent progress these past few weeks. We settled on on going the document-based objects route for our database and are using MongoDB. We are also using Python, with Flask, Flask-Login, pymongo, and pydantic, along with some javascript. We are still only doing local server instances, but successfully can connect to the database, log in and out as a specific user, favorite or unfavorite a pet, and also do a search to filter to a specific pet name.
We are in the process of getting account creation set up, as well as email notifications for pet updates (or other updates). We will also be implementing some data verification and parameter requirements when creating profiles so that we can avoid having duplicate profiles.
Overall, I believe we are on track to continue development and introduce you all to Furever Matchup within the next year!
Blog Post #2
These past few weeks have been interesting, and a little chaotic. Interesting because we have been exploring all of our different options and weighing on the pros and the cons of everything. Chaotic because we all live busy lives and we are developing a web application right in the middle of everything else.
We are proud to be working on our dating-app style web application for animal adoption, dubbed “Furever Matchup”. We are still very early in our development stage, but by the end of this week we will have finished getting our various environments set up, our project management software will be set up, and we will be doing a very base demo of a couple of very basic simple features of the application.
As a team, we’ve put much thought into the various technologies that we will use. We are looking forward to moving forward and watching our application grow and develop.
It’s been interesting learning about the various tools we are going to be using, though at times it’s a little frustrating. But like all things, we continue practicing and improving. Other times I find myself wondering if I ever knew what I was doing in the first place haha.
Overall, I’m really looking forward to everything that is come and seeing how this journey unfolds.
Introduction
Hey everyone! I’m Andrew Sullivan, and I wanted to start off by sharing a little about myself and my journey over recent years. I am 37 years old, I live in Keizer, Oregon with my wife Adrianne, our 15 year old daughter Katelyn, and our 9 year old son Elijah. We have two cats and two dogs. Spaztastic and Calypso are our kitties, Spaz is your typical ginger, full of spunk but always wanting cuddles. Calypso is a tortoise shell, she’s the newest member of the household. She was a barn kitten and we gave her a home this past Christmas. Shadow is our old lady Pitt/Lab mix. Unfortunately she has really bad skin allergies so is constantly medicated. More recently, though, she’s been full of energy and running around and playing a lot more. Moose is a Pitt/Australian Shepherd/Springer Spaniel mix. He’s a handful and overflowing with energy. He is constantly worried that he’s being left out of any events occurring within a visual radius. In my leisure time, my family likes to go camping and to the beach, occasionally hiking. We haven’t had much opportunity this last year to go out and do anything, so next summer we’re hoping to fix that, and maybe make up for lost time. I’m a pretty avid pool player. I’ve been a member of my local APA League for about 13 years now. I have a pool table in my garage, it doesn’t see the amount of practice that it used to, but it does still get used. It’s also about the only thing that helped me maintain my sanity during the Covid times. Over the past few months, I’ve also been getting back into gaming, and have been playing a game called Warframe. It’s been fun.
I initially got into computers back in high school with my friends. The school started a new programming class and we jumped at it and really got into it. We learned Turbo C++. It was both challenging and fun. I really enjoyed the process of making a project go from being just lines of code to a finished product that performed functions or even simply entertained people. Once out of high school, I went into construction and traveled around. I was a tutor as part of a program to help under educated adults attain their GED. I was a telemarketer. I was a mortgage servicer/debt collector. I was a commercial dishwasher repairman. And now I’m currently a software technician for a dental software company. I suppose I’ve been a bit of a jack of all trades over the years, and in more recent times I’ve redirected myself back towards where I started.
I completed my Cybersecurity Degree at Chemeketa Community College in Spring 2022, took the Summer off for a quick breather, and then I’ve been attending Oregon State University since that Fall with no breaks. It’s been challenging and intense, but interesting and fun as well. I’ve learned a lot, both about myself, and about other things that I thought I already knew about. I’m beginning my extended senior year this term, and really looking forward to this longer stretch to bring home that golden Bachelor’s Degree. I started working full-time at the beginning of the year at Open Dental Software. They’re an open source software company that provides dental management software and support. Towards the end of this capstone project, my goal is to reapply for their engineering internship position. I’ll probably be there for six months to a year, and then transition full-time into their engineering department. I’ve already spoken with them at length about my goals and they are looking forward to the customer facing experience I bring to the table, as most of their engineers don’t actually interact with the users at all, or use the software extensively the way that we do as technicians. The company uses its own software to manage their company as well, showing their faith in the product, which I really enjoy. This is the first company that I’ve worked for that treats its employees like an actual family, they promote the best work/home balance that they can, and they do things for their employees constantly. They’re incredibly supportive and encouraging. I could see myself retiring with this company 20 years down the road, maybe more.
I don’t really have a favorite technology, I’ve dabbled with several different languages. More recently I’ve used Python in several projects, but also worked with TypeScript a bit, node.js, MongoDB, Java, C++, and a couple others I can’t quite remember off the top of my head. If I could get some hands on experience with C#, that would be really nice, as it’s my understanding that C# is the predominant language used in our engineering department at work. Getting a little bit of a leg up by having a better understanding of how C# works would be beneficial.
The top 5 projects I looked at were:
1) Dating app for animal adoption. I really enjoy animals, more than I enjoy most people to be honest. I’ve done some work on a similar type of project, but not quite as in depth, and I would be interested in applying what I’ve learned and building on it. Being able to do so over the course of the capstone project and creating an actual finished project (Hopefully) would be really cool.
2) Crowd-sourced Travel Planner. I really like the idea behind this. Everyone wants to find places to go for vacations, and sometimes it’s just so hard finding all of the information and sorting through it. Being able to utilize a better source of referencing, which could be filtered based on numerous criteria, would really allow more opportunity for people to expand on their options. I think it would be really cool to be part of something like that.
3) Foodable. This one really caught my eye, mainly because in the past couple of years, I’ve really tried to pay more attention to my health and take better care of myself. It is really difficult to find healthy, local, fresh, affordable foods. The world is just so expensive now, and I think it would be really awesome to be part of a project that tries to help other people help themselves. Not to mention it’s a product I could see myself benefitting from as well.
4) Gamification of PharmD classes. I was really intrigued by this idea as I was a tutor for a couple of years, and I actually helped developed an entire hyperlink program from the ground up to help people learn and study pointed topics. I see this as somewhat similar, and it could also be really fun. I do realize this was not on the final list of projects to choose from, but it was on the initial projects list under the filter.
5) UX/UI Collaborative. My company is currently making a pretty big push in hiring engineers, as they want to focus more on the UX/UI portion of the software. I saw this project as an opportunity to dip my hand a little more in the complexities surrounding UX/UI as I don’t have the most experience with it. I realize as well that this project was not on the final list of our options, but was on the initial projects list under the filter.
I did have 3 other ones that I was interested in, but I don’t remember them at this moment, and for some reason, in all my wisdom, I neglected to write them down when I added them to my survey. At the end of the day, no matter what project I end up on, I’m excited and driven. I’m looking forward to getting to know everyone and watch as our projects begin to grow. Have a great evening everyone!
Andrew
Hello world!
Welcome to blogs.oregonstate.edu. This is your first post. Edit or delete it, then start blogging!