OpenAerialMap (OAM) is a set of tools for searching, sharing, and using openly licensed satellite and unmanned aerial vehicle (UAV) imagery.
Built on top of the Open Imagery Network (OIN), OAM is an open service that provides search and access to this imagery.
Create React App is used to scaffold, compile and build the project.
So you will first need recent versions of Node and Yarn on your system. Then, in the project's root, run;
yarn install yarn start
You should be able to see the site in your browser at
However, to get all functionality you will also need to point it at a running Catalog API. By default the endpoint of the staging instance of the API will be used, however you can change the endpoint to a locally running API in
This is a Single Page Application and needs only a web server to serve it. Therefore it can be hosted on S3 or just as a folder under Nginx.
The backend API URI can be changed in
To prepare the files:
Then copy the
build/ folder to your web server or S3.
2 distinct test suites exist.
Unit-like tests, under
These should be isolated and fast, with as much mocking/stubbing as possible, suitable for TDD. Run with:
mocha --opts test/specs/mocha.opts test/specs or
Integration tests, under
These are end-to-end, cross-browser tests, that should test as much of the stack as possible. Currently they are run on Browser Stack against various browsers. They can be run locally against a Web Driver compatible browser client like chromedriver or geckodriver. You will need a running Catalog API, the repo has a Dockerfile to quickly get a local version of the API running. Then you can run tests with;
Note that Browserstack tests both a pinned version of the API (defined in
package.json and the latest version of the API).
mocha, you can send
mocha args via
mochaOpts field. For instance
grep has been added so you can isolate a single test run with:
MOCHA_MATCH='should find imagery' wdio test/integration/wdio.local.conf.js
Contributions are very welcome. Please see CONTRIBUTING.md.
OAM Browser is licensed under BSD 3-Clause License, see the LICENSE file for more details.