Git Product home page Git Product logo

oam-browser's Introduction

OpenAerialMap Frontend Build Status BrowserStack Status

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.

Local setup

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 http://localhost:3000

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 src/config/local.js.

Deployment

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 src/config.js

To prepare the files:

yarn build

Then copy the build/ folder to your web server or S3.

Testing

2 distinct test suites exist.

Unit-like tests, under test/specs
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 npm test

Integration tests, under test/integration
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; wdio test/integration/wdio.local.conf.js.

Note that Browserstack tests both a pinned version of the API (defined in package.json and the latest version of the API).

Because wdio wraps mocha, you can send mocha args via wdio.default.conf.js's 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

Contributing

Contributions are very welcome. Please see CONTRIBUTING.md.

License

OAM Browser is licensed under BSD 3-Clause License, see the LICENSE file for more details.

oam-browser's People

Contributors

13thirteen avatar anandthakker avatar ankitakhurana avatar brendangatens avatar danielfdsilva avatar jflasher avatar kamicut avatar ricardoduplos avatar sharkinsspatial avatar smit1678 avatar tombh avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.