Last week I deployed my application and made some big steps towards a production app. First, I changed out my SQLite database for Postgresql after learning that it would be more of a headache to keep pushing off that step. It actually was not too bad and made my container implementation simpler since I no longer had to keep track of a file (the sqlite db) in between container instances.

I formed and implemented a Deployment strategy where my CI/CD pipeline builds and runs tests in a docker container for my app, once complete it moves a copy of the prebuilt container in to GitHub Registry. I used Render.com to deploy my API, which retrieves the prebuilt container from GitHub Registry and deploys it. Beforehand, I made a Postgresql database on render.com as well. There was some troubleshooting involved parsing the connection string from Render’s database and making it working for the .Net postgresql package to handle. I also had some issues running tests without the appsettings file in my container (private) and I used conditionals to provide a dummy settings for testing purposes.

I deployed my front end app using Vercel with Vite and it was extremely simple and easy. I was genuinely surprised. I had some trouble trying to set the url for my api correctly, in the end I had to dig through the settings in vercel and clear the buld cache for to use my corrected path.

Here are some resources I used for these steps. I moved very quickly on this and could not have done that with out help from Claude AI.

Deploy on Render with a Container Registry

Containers on GitHub Registry

Deploying on Vercel with Vite

This week the focus is on the final report and any final touches on the project including documentation.

The main impediment is that I still have many things to do and work on and I literally have just a few hours left.

Reflection: Deployment is hard. There are always loose ends to figure out. And it is so satisfying when it finally works on a public domain!

You can view my app here: video-project-suite.vercel.app and since I am using a free tier for Render.com it takes about a minute for the API to start up and respond.