The Journey So Far

Persistent Progress

I have to say that I’m impressed with how well the project seems to be going. I’ll admit that my confidence in the project was a bit up and down at first, at least regarding my own abilities. When first assigned the project, I felt confident that it wouldn’t be too bad and was simple enough that I could have created it by myself as a side project. After the team decided on technologies for frontend, though, my confidence was a little shaken – I had so much to learn and little time to do so. However, I found some good tutorials and once I got started, it really wasn’t that hard.

Furthermore, teamwork has been going smoothly and we have been sticking to our initial team standards pretty closely. Communication and collaboration are consistent, and I feel lucky to have been assigned the teammates I have. Everyone is positive and hard-working, as well as flexible. We all have different experiences and areas of knowledge, and we try to help each other out when we can.

My Part of the Project

I took on the ‘user stuff’ part of our project, meaning things related to user creation, login/logout, and saved trips. My knowledge about user authentication was nil before the project, so there was a bit of a learning curve. I investigated using Next.JS and Flask libraries to handle authentication, but luckily, I was aware of Firebase Authentication from when I used Firebase services for another class.

Since our project has a rather tight deadline, it made more sense to me to use an existing service rather than spend a potentially long amount of time building something myself. It took a while to get everything going, but now users can successfully login and logout using their Google account, and that login state is passed to all components of the app. A personal stretch goal is adding more registration options, but it would be wiser to finish other parts of the project first.

User authentication is the most challenging part of the project that I’ve been assigned, so now that it’s up and going, my other responsibilities shouldn’t be a problem. I don’t expect it to take too long to add the ‘Trip’ component of the project, so I hope that will leave me more time to help refine our CSS styling.

The Overall Project

My teammates are making excellent progress, too. Currently, you can view experiences on the page, add a new experience, and search experiences by keyword and location. There are still a few kinks to work out, such as adding photos and geolocation, but I have to say that I’m impressed with how quickly things are coming together. Considering we still have about a month left, I’m sure we will finish the requirements on time and might even be able to add in a couple stretch goals. I’m eager to see how the project is going to turn out in the end!

Getting Started

Project Overview

I have been assigned to work on a crowd-sourced travel planner app as my capstone project. This was good news since it was my top choice out of the available projects and, even better, I have great teammates. I think we each bring different skills and ideas to the project, and we are going to do a good job.

Our project seems comprehensible enough, but dividing up jobs and coming up with a work schedule was not an easy task.  In our team meeting, we discussed dividing up work by frontend and backend or by components of the project. Both strategies presented pros and cons, but we ultimately decided to divide up work based on the major components of the project – the user, experiences, and search-related features.

A major reason for not dividing up the work by frontend/backend was that our project is a bit frontend heavy; this might make more work for some members than others. Also, it seems that all the members of our team are experienced with both frontend and backend, so dividing the work by major components allows everyone to take ownership of specific features and ensures that each aspect of our project will receive equal attention. Another plus is that we’ll all gain some additional experience with frontend and backend, and I think it lets us work more independently.

Technologies

All members of the team have previous experience using Python and Flask, so that’s what we chose to use for backend, along with MySQL for our database. When it comes to frontend, we’ll be using React via Next.JS.

I seem to be the odd one out since I don’t have previous experience using React (it wasn’t part of the curriculum when I took Web Dev two years ago), so I have my work cut out for me. It’s also been a while since I’ve used JavaScript, so that’s one more topic to review before beginning serious work on the project.

While I am eager to learn new things during the project and it’s sort of the point of these projects, it is frustrating for my work to be impeded by a knowledge gap. The class has a little bit of a tight schedule, and I would hate to slow down my team. However, it seems more prudent to invest time studying new technologies in the beginning rather than to stumble through the project later. By studying now, I will have a better understanding of what needs to be done and how to do it. I’m sure my work will move more quickly and smoothly than it would otherwise.

So, here’s to a slow start, but hopefully a strong foundation~

Hello, Capstone

Path to Comp Sci

Like many young people, I had no idea what I wanted to be when I grew up, but I knew that I had to go to college. It wasn’t an option; it was a fact. So based on my limited experience up until that point, I decided to major in English since I enjoyed reading. And hey, my teachers were pretty cool, so why not become a teacher myself?

I worked as an English teacher for about ten years, and I can’t deny the unique opportunities and experiences my career brought me. I left the US in 2013 to move to Thailand for a year and have been living in South Korea since 2014. I’ve had the chance to travel, meet interesting people of diverse backgrounds, and had the privilege of teaching over a thousand students. And I still enjoy reading – I’ve read 20 books so far in 2023, albeit mostly fantasy novels.

But teacher burnout is real and can be vicious. I had felt it creeping up on me for a while before I decided to pursue another career. Luckily, after starting to learn to code as a hobby, a degree in computer science seemed like a natural fit. I’ve always enjoyed problem solving, and coding offers a good balance of mental stimulation mixed with creativity. I love learning, and computer science is a bottomless well of information. Nothing is quite as frustrating as getting hung up on a problem while coding, but there is also nothing as satisfying as solving a problem or finishing a project. I’m excited to begin a career as a programmer and look forward to the experiences it will bring.

Capstone

I expect CS 467 Online Capstone Project to be a significant learning experience for me, especially in regard to working in a group. Although my job as a teacher was centered around working with people – namely students – it was never really a team experience. The teacher is the captain of the ship based purely on the power dynamics of the classroom; I don’t have experience working collaboratively on a project with a group of peers in the way that computer science requires. I’ve had a few experiences through the post-bacc program at OSU working on small projects with a partner, but never on a more sizable project like what we will accomplish in the online capstone project.

I’m eager to experience what the development process is like with a team. Since I’ve completed most projects independently, they were flexible to my schedule and plans changed based on my needs. I’m sure I will experience some growing pains with being held accountable to teammates and adhering to what I expect to be a more well-defined plan and stricter schedule. However, I am very welcoming of it. And although I have some experience using Git, I’m happy to gain more experience using Git with a team. I hope that I can learn from my teammates and have something to offer them, as well.

Good luck to everyone else who is enrolled in CS 467 this term. I hope the term goes smoothly for us all and that it is a great learning experience!