nyu-devops / lab-agile-zenhub Goto Github PK
View Code? Open in Web Editor NEWThis is the repository for the ZenHub training lab on Agile Development and Planning
License: Apache License 2.0
This is the repository for the ZenHub training lab on Agile Development and Planning
License: Apache License 2.0
As a Service
I need a Redis service specified in the Kubernetes manifest
So that it gets connected each time the hit counter service is deployed
deployment.yaml
file to include credentials to this serviceGiven the manifests have been created
When I push the hit counter service to Kubernetes
Then it should have a Redis service bound to it
As a Developer
I need a way to work locally with Visual Studio Code and Docker
So that I can work independantly without the need for external databases
Assumptions:
Acceptance Criteria
Given I have issue `git clone` on the project
And I change into the project folder
When I issue `code .`
And I select Reopen in Container
Then I should have a complete development environment on my workstation
As a User
I need the service to be publicly available on Kubernetes
So that I can use it from the Internet
./deploy
deployment.yaml
file to specify the deployment parametersservice.yaml
file to specify the serviceGiven I have created the required files to deploy service on Kubernetes
When I issue a `kubectl apply -f deploy`
Then the service successfully deploys to Kubernetes
As a User
I need the API documented in Swagger
So that I can easily understand how to use the API
Assumptions:
/api-docs
URLAcceptance Criteria:
When I follow the /api-docs
URL
It should return the documentation JSON in Swagger format
As a Developer
I need my local development environment to include Redis
So that I can test the service locally with no Internet connection required
Assumptions:
docker-compose.yml
file will add Redis while building the environmentalpine:redis
should be used to keep the vm smallAcceptance Criteria:
Given I have started Visual Studio Code and Reopened in a Container
When I issue `docker ps` in a separate shell
Then I should see a `redis` instance running
As a Developer
I need to automate the continuous deployment of my service
So that I don't have to waste time deploying it manually
master
a new build will deploy into KubernetesWhen I `git push origin master`
And I go to the IBM Continuous Delivery Services web page
Then I should see the application bas been deploy to Kubernetes
As a Developer
I need to display the license for my repository
So that everyone will know under what legal conditions they can use it
Details & Assumptions:
Acceptance Criteria:
Given the license is added to the README.md file
When I view the repo
Then I should see a badge for Apache License
As a Service Provider
I need my code running on the cloud
So that people can get to my web site
Assumptions:
Acceptance Criteria:
Given ...
When ...
Then ...
As a User
I need the ability to reset the counter
So that I can start counting something new
Assumptions:
Acceptance Criteria:
When I call 'POST /counter'
It returns the current counter value
When I call 'POST /counter/reset'
It returns zero (0) as the counter value
When I call 'POST /counter' after a `reset`
It returns a counter value of `1`
As a Developer
I need some starter code
So that I can start adding features to it
8000
by defaultGiven there is a skeleton app
When I issue a `git clone` on the project
Then I should get a minimal Flask application
When I run `python server.py`
Then I should have a Flask server running at `localhost:8000`
As a User
I need the hit counter to persist the last known count
So that I don't loose track of the count after the service is restarted
Given the hit counter is at 1
When I advance the hit counter to 2
And I restart the hit counter services
And I call the hit counter URL
Then I should see 3 returned from the service
As a User
I need a way to remove a counter from the list
So that it no longer shows up in the list of counters
Assumptions:
Acceptance Criteria:
Given that the counter `foo` exists
When I issue `GET /counters`
I should see `foo` in the list of counters
And I issue `DELETE /counters/foo`
Then the `foo` counter should be deleted
When I issue `GET /counters`
I should not see `foo` in the list of counters
As a User
I need a way to create a counter
So that I can easily keep count of how many times something was done
/counters/<name>
Given the server is available
When I call the URL `GET /counter/<name>`
Then it should return the number of times it has been called as a JSON string in the format:
The Results should look like this?
{
<name>: <count>
}
Where <name> is the number of name of the counter and <count> is the current count.
As a User
I need the ability to create multiple hit counters
So that I can keep track of multiple things
Assumptions:
GET /counters
should list all countersGET /counters/foo
will operate on the foo
counterAcceptance Criteria:
When I call GET /counters
I should see a list of counters as a JSON string
When I call GET /counters/foo
I should get the current counter value for the foo
counter
When I call POST /counters/foo
It should increment the foo
counter and return he current value
As a Developer
I need the ability to deploy the service in a Docker container
So that I have more deployment options than just Cloud Foundry
Assumptions:
alpine:python
Docker image should be used as a baseVagrantfile
can be used as a starting pointAcceptance Criteria:
When I issue docker build -t hitcounter .
A proper Docker image should be built
And when I issue docker run -d hitcouner
And I issue docker ps
I should see a hitcounter container running
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.