2023-06-29: Things are picking up
Tags: devjournal
Published: 2023-06-30 03:37:30

Hello everyone! In keeping with the format of my previous blog posts, I'll start off with an update on the video game project.

## Video Game Project

Unfortunately, I haven't had much time to work on the project this week. However, I did manage to pick up the remote machine to run it locally, which is easier in case it turns off or something. We did get it to work with UE5.2, but other than that, there's not much noteworthy to report. My time has been consumed by my main job, wedding planning, and preparing for my trip to Israel for 10 days with my fiancée (which is also why I'm writing on a Thursday instead of a Friday).

## Main Job

On the job front, things have finally picked up in a whirlwind. On Monday, I was introduced to the other software developers with whom I'll primarily be working. Interestingly, one of them left within a few hours for another position. He was quite important to our operation considering his 9 years of experience in machine learning, but I guess there's not much that can be done. The other lead dev left as well, leaving just three of us.

Despite these changes, we managed to get our GitHub repo working. Our boss wanted us to spend the rest of the week coming up with a miniature demo app to show the execs. This app would have some very basic functionality and also serve as an exercise to see how the other software dev and I worked together.

## The Miniature Demo App

My coworker, M, had already made some headway in Svelte, so we decided to use that for the frontend. My boss had decided that we would use FastAPI with Pydantic validation for the backend. He also told us what he wanted as far as basic features: a dark mode toggle, and a 3-item "hitlist" for our ideas to implement.

So, we set out to do the dark mode toggle, which was simple enough because it was on the Svelte sample code snippets on their website. We also decided to include a todo list, user signup, and radio buttons to select a favorite food in our hitlist.

M and I did some pair programming to get the frontend to properly hook into the backend, which was just returning a simple `{Hello: World}` JSON, and that worked.

We then worked in parallel: I primarily on the backend and M on the frontend. Setting up FastAPI was relatively easy. I set up the routes for the app, which was admittedly easier than even Flask, let alone Django. I first worked on getting the user signups to work, writing up test cases and Pydantic models for all that. At some point, I also created a temporary SQLite database through SQLAlchemy. It came together quite nicely.

M had his frontend Svelte pages set up, so I worked a little with him again via pair programming to get it hooked into the backend, and it was working perfectly fine. At some point we added Bootstrap for styling. I would like to mess around with Tailwind, but I guess every single schema decision has to be run by the execs which is mildly annoying.

With the user signup page working, we also got the favorite food page working as well today, which was good. Since we had experience with POSTing to the backend server, it was easy to just add in the favorite food to the existing user associated with an email address. Retrieving it was new, but that was also easy to figure out.



We left the todo hook for now, but maybe M will work on it while I'm gone. I had propped up a foreign key pair between the user and the todo list but obviously didn't get a chance for the todo list to be anything more than frontend stuff.

## Screenshots

Here are some screenshots of our progress:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h7qum2n6i7zkaequu5dx.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sblkbkxgqua7chmgwdmb.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c6n3ktvsvjr5ifglxv6z.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/emt0uxcm0wt6y00wiyuv.png)

## Wrapping Up

That's all for now. I'll be off for the next two weeks due to my trip, but I'm looking forward to catching up when I return. Until then, cheers!