First off, it's standard practice to listen for PORT over the environment variable. You can always set a default, I often do, but it should able to be overriden.
Second, you are opening and closing your DB on every request, it may not cause too much latency, but you should 'open' the database upon application start, then use a service to allow your controllers access to the DB. If the project was larger, I would recommend some abstraction so you can use different types of storage solutions and the controller doesn't need to have any idea what is used behind the scenes.
errChk will cause the entire application to crash on any 'err' thrown in it that isn't nil. Errors should be handled a bit more gracefully, a common pattern is:
if err := datastore.Get(c, key, record); err != nil {
http.Error(w, err.Error(), 500)
return
}
You are definitely on the right path though! If you have any questions, feel free to leave a comment. I can create a PR later with the suggested updates if that would be of any interest to you.Oh, also Heroku or Google Cloud Run may be of interest to you, both services have free tiers that you can get started on, but you will want to change your datasource to use something beyond sqlite.