Within your course repository, create a directory "final". Commit and push to your remote repository.

cd <path_to_repo>
mkdir final
touch final/Dockerfile
touch final/app.py
touch final/project_url.txt
touch final/screencast_url.txt
git add final
git commit -m "initial commit for final"
git push

You will take the Cloud Run version of the homework code developed previously and adapt it to utilize APIs of your choice. For graduate students, a minimum of 2 API integrations must be implemented for a passing grade. For undergraduates, a minimum of 1 API integration must be implemented for a passing grade. Integrations will be graded on the level of functionality that has been leveraged from the API within the application. Note that, as this course is a backend one, integrations must be done within the container running on Cloud Run.

API ideas

Project Ideas

Your development should be organized and incremental, with frequent commits into your git repository. You must also ensure any API keys do not show up in your source files. Configuring credentials for Cloud Run services can be done via environment variables either via Google Cloud's Secrets Manager or in the deployment step using the --set-env-vars flag.

gcloud run deploy final --image gcr.io/... --set-env-vars APP_ID=e5c9382,API_KEY=cae2635...343

Upon completing your project, via a narrated screencast of no longer than 15 minutes, you will show the following in the exact order specified.

You may use screencast software of your choice. Options include video conferencing applications such as Google Meet and Zoom or dedicated programs such as OBS Screen Recorder, QuickTime (MacOS), Screencast-O-Matic (Windows), or RecordMyDesktop (Linux). In addition, CaptureSpace Lite is available via PSU's Media Space (https://media.pdx.edu).


All application code including the Dockerfile used to build the container should be pushed to your repository in the final directory. In addition to your code, the file final/project_url.txt should contain the URL that your container running on Cloud Run Your Cloud Run instance must be left up for a week after submission. If you need an additional coupon, request it now.


Upload your completed screencast on MediaSpace. Ensure that it is published as "Unlisted". To do so, visit MediaSpace and click on "My Media".

Click on the screencast video that has been uploaded. Then, in the tabs below, select the "Publish" tab, click on "Unlisted", and then "Save".

Then, update the file final/screencast_url.txt in your repository to contain the URL that your unlisted screencast on MediaSpace is located. Push the changes to your repository before the due date.

We will be using your screencast and git repository to evaluate your project.

Demo of the setup, building, and deployment of the application

Demo of fully functioning application

APIs implemented, level of functionality, and the creativity of the application and its integration

Code quality (clean with no unused code or variables, readable, modular, documented with Docstrings and comments, no hard-coded keys within source code)

Walkthrough quality including Dockerfile, source code, and description of development history via git commits

Instructions followed properly including code submission in the specified repository files, sequencing of screencast, and the length of the screencast