hello-ampd
Basic tutorial for the EPA Clean Air Markets Division to go through the process of creating a small web app, in the problem space of AMPD, with automated tests and deployment to cloud.gov.
Currently, hello-ampd
is a very simple API backend, providing a "Hello World" style response to HTTP GET calls.
Development
Initial setup
Dependencies
This project uses Docker containers to provide a self-contained build and test environment, as well as to locally run the hello-ampd
web service. These instructions assume some familiarity with the command-line (e.g., Windows Terminal under Windows 10, Terminal under macOS, etc.).
Clone the repository
Clone the repository and cd
into it:
git clone https://github.com/18F/hello-ampd
cd hello-ampd
Tests
Run the initial setup and ensure that all tests pass locally:
docker-compose run --rm api make
Running a local server
Start the web service:
docker-compose up --abort-on-container-exit --build
Log messages will be printed to the console's stdout
.
Once the Starting hello-ampd
debug log message appears, a web browser can be directed to http://localhost:8080
to access the web service.
Stopping and cleaning up the local server
Ctrl+C
will shutdown the server, if performed in the same console window as it was started.
Using a different console window — on the same host OS, from the hello-ampd
project tree — the local server can be stopped and cleaned up with:
docker-compose down
Adding/updating Go packages
Whenever the packages used by hello-ampd
change, update the Dep files:
docker-compose run --rm api dep ensure -no-vendor
docker-compose build
Be sure to commit the dep
-generated updates to src/Gopkg.toml
and src/Gopkg.lock
.