{"id":38792486,"url":"https://github.com/angelicagardner/devops-capstone-project","last_synced_at":"2026-01-17T12:39:47.796Z","repository":{"id":63533394,"uuid":"568426224","full_name":"angelicagardner/devops-capstone-project","owner":"angelicagardner","description":"IBM DevOps and Software Engineering Professional Certificate Capstone Project","archived":false,"fork":false,"pushed_at":"2022-12-04T22:33:18.000Z","size":67,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-03-04T15:20:19.021Z","etag":null,"topics":["devops","docker","flask","ibm-cloud","kubernetes","python","tekton"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/angelicagardner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-11-20T13:56:43.000Z","updated_at":"2022-12-04T21:27:18.000Z","dependencies_parsed_at":"2023-01-23T07:00:41.878Z","dependency_job_id":null,"html_url":"https://github.com/angelicagardner/devops-capstone-project","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/angelicagardner/devops-capstone-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelicagardner%2Fdevops-capstone-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelicagardner%2Fdevops-capstone-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelicagardner%2Fdevops-capstone-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelicagardner%2Fdevops-capstone-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/angelicagardner","download_url":"https://codeload.github.com/angelicagardner/devops-capstone-project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelicagardner%2Fdevops-capstone-project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28508508,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T11:50:55.898Z","status":"ssl_error","status_checked_at":"2026-01-17T11:50:55.569Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["devops","docker","flask","ibm-cloud","kubernetes","python","tekton"],"created_at":"2026-01-17T12:39:47.225Z","updated_at":"2026-01-17T12:39:47.775Z","avatar_url":"https://github.com/angelicagardner.png","language":"Python","readme":"# DevOps Capstone Template\n\n![Build Status](https://github.com/angelicagardner/devops-capstone-project/actions/workflows/ci-build.yaml/badge.svg)\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Python 3.9](https://img.shields.io/badge/Python-3.9-green.svg)](https://shields.io/)\n\nThis repository contains the starter code for the project in [**IBM-CD0285EN-SkillsNetwork DevOps Capstone Project**](https://www.coursera.org/learn/devops-capstone-project?specialization=devops-and-software-engineering) which is part of the [**IBM DevOps and Software Engineering Professional Certificate**](https://www.coursera.org/professional-certificates/devops-and-software-engineering)\n\n## Usage\n\nYou should use this template to start your DevOps Capstone project. It contains all of the code that you will need to get started.\n\nDo Not fork this code! It is meant to be used by pressing the  \u003cspan style=color:white;background:green\u003e**Use this Template**\u003c/span\u003e button in GitHub. This will copy the code to your own repository with no connection back to the original repository like a fork would. This is what you want.\n\n## Development Environment\n\nThese labs are designed to be executed in the IBM Developer Skills Network Cloud IDE with OpenShift. Please use the links provided in the Coursera Capstone project to access the lab environment.\n\nOnce you are in the lab environment, you can initialize it with `bin/setup.sh` by sourcing it. (*Note: DO NOT run this program as a bash script. It sets environment variable and so must be sourced*):\n\n```bash\nsource bin/setup.sh\n```\n\nThis will install Python 3.9, make it the default, modify the bash prompt, create a Python virtual environment and activate it.\n\nAfter sourcing it you prompt should look like this:\n\n```bash\n(venv) theia:project$\n```\n\n## Useful commands\n\nUnder normal circumstances you should not have to run these commands. They are performed automatically at setup but may be useful when things go wrong:\n\n### Activate the Python 3.9 virtual environment\n\nYou can activate the Python 3.9 environment with:\n\n```bash\nsource ~/venv/bin/activate\n```\n\n### Installing Python dependencies\n\nThese dependencies are installed as part of the setup process but should you need to install them again, first make sure that the Python 3.9 virtual environment is activated and then use the `make install` command:\n\n```bash\nmake install\n```\n\n### Starting the Postgres Docker container\n\nThe labs use Postgres running in a Docker container. If for some reason the service is not available you can start it with:\n\n```bash\nmake db\n```\n\nYou can use the `docker ps` command to make sure that postgres is up and running.\n\n## Project layout\n\nThe code for the microservice is contained in the `service` package. All of the test are in the `tests` folder. The code follows the **Model-View-Controller** pattern with all of the database code and business logic in the model (`models.py`), and all of the RESTful routing on the controller (`routes.py`).\n\n```text\n├── service         \u003c- microservice package\n│   ├── common/     \u003c- common log and error handlers\n│   ├── config.py   \u003c- Flask configuration object\n│   ├── models.py   \u003c- code for the persistent model\n│   └── routes.py   \u003c- code for the REST API routes\n├── setup.cfg       \u003c- tools setup config\n└── tests                       \u003c- folder for all of the tests\n    ├── factories.py            \u003c- test factories\n    ├── test_cli_commands.py    \u003c- CLI tests\n    ├── test_models.py          \u003c- model unit tests\n    └── test_routes.py          \u003c- route unit tests\n```\n\n## Data Model\n\nThe Account model contains the following fields:\n\n| Name | Type | Optional |\n|------|------|----------|\n| id | Integer| False |\n| name | String(64) | False |\n| email | String(64) | False |\n| address | String(256) | False |\n| phone_number | String(32) | True |\n| date_joined | Date | False |\n\n## Your Task\n\nComplete this microservice by implementing REST API's for `READ`, `UPDATE`, `DELETE`, and `LIST` while maintaining **95%** code coverage. In true **Test Driven Development** fashion, first write tests for the code you \"wish you had\", and then write the code to make them pass.\n\n## Local Kubernetes Development\n\nThis repo can also be used for local Kubernetes development. It is not advised that you run these commands in the Cloud IDE environment. The purpose of these commands are to simulate the Cloud IDE environment locally on your computer. \n\nAt a minimum, you will need [Docker Desktop](https://www.docker.com/products/docker-desktop) installed on your computer. For the full development environment, you will also need [Visual Studio Code](https://code.visualstudio.com) with the [Remote Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) extension from the Visual Studio Marketplace. All of these can be installed manually by clicking on the links above or you can use a package manager like **Homebrew** on Mac of **Chocolatey** on Windows.\n\nPlease only use these commands for working stand-alone on your own computer with the VSCode Remote Container environment provided.\n\n1. Bring up a local K3D Kubernetes cluster\n\n    ```bash\n    $ make cluster\n    ```\n\n2. Install Tekton\n\n    ```bash\n    $ make tekton\n    ```\n\n3. Install the ClusterTasks that the Cloud IDE has\n\n    ```bash\n    $ make clustertasks\n    ```\n\nYou can now perform Tekton development locally, just like in the Cloud IDE lab environment.\n\n## Author\n\n[John Rofrano](https://www.coursera.org/instructor/johnrofrano), Senior Technical Staff Member, DevOps Champion, @ IBM Research, and Instructor @ Coursera\n\n## License\n\nLicensed under the Apache License. See [LICENSE](LICENSE)\n\n## \u003ch3 align=\"center\"\u003e © IBM Corporation 2022. All rights reserved. \u003ch3/\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangelicagardner%2Fdevops-capstone-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fangelicagardner%2Fdevops-capstone-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangelicagardner%2Fdevops-capstone-project/lists"}