GithubHelp home page GithubHelp logo

gflohr / cucumber-frontend Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mylittletony/ct-frontend

0.0 5.0 0.0 9.9 MB

Frontend Demo for Cucumber Tony API

Home Page: https://www.cucumberwifi.io

ApacheConf 1.52% JavaScript 48.39% CSS 0.59% HTML 45.72% Groff 3.77% Shell 0.02%

cucumber-frontend's Introduction

Welcome To Cucumber

Cucumber Tony is an orchestration tool for WiFi Devices. It's like mission control for your networks - a single-pane of glass to manage all your devices. (That whole sentence is trademarked btw).

The core of the service is the Cucumber RESTFul API. This portal is currently our beta portal - soon to be production. It communicates with the API to provide a 'nice' interface for controlling your devices.

It's proof that anything is possible. Just use your imagination.

Code Status

CircleCI

Getting Started

This is a demo portal which acts as an interface to the Cucumber API. It's not production ready and many tests were temporarily removed.

There's two ways to run the application:

  • Using Docker
  • Using plain NodeJS / npm

Running with NodeJS

  • Create an Application in the current Tony and obtain your APP ID and Secret
  • Enter these in the local.enc.sample.js.default. Or use some ENV variables.

You also need to install via npm install && bower install to get all the dependencies.

npm install
bower install

To run in development, you can use the following:

grunt serve

Make sure you have updated the Gruntfile to include the api.ctapp.io end-points.

Using With Docker

Make sure you have Docker and Docker Compose installed. Full instructions on the Docker site. If you want to use docker-compose, please ensure you're using the version > 1.7 otherwise you will get an error.

You can either use docker compose or plain docker build. It's up to you. With docker compose, you can create a .env file that will pull all your ENV vars in. In the project directory run:

Make sure to edit it the cucumber.env file first accordingly.

docker-compose up

Then you should be able to access your container on your Docker IP:

curl http://192.168.1.1:8080

If you don't want to use docker compose, just run the following in your project root:

docker build -t cucumber .

Followed by:

docker run \
  -e APP_ID=YOUR-ID \
  -e APP_SECRET=YOUR-SECRET \
  -e API_URL=https://api.ctapp.io \
  -e AUTH_URL=https://id.ctapp.io \
  -e BASE_URL=my.ctapp.dev:9090 \
  -e PORT=80
  -p 8080:80 cucumber

Replacing all the vars as you see fit.

Still to sort

We have not implemented TLS yet. This will come soon - basically don't use this in production yet.

Using with Heroku

These instructions assume you're not using the Docker image, we will explain that later.

If you want to deploy yourself with Heroku, you need to do a few things.

Create a Heroku repository and add to the Gruntfile

heroku: {
  options: {
    remote: '[email protected]:my-app-8983.git',
    branch: 'master'
  }
}

Add some ENV variables to your Heroku Repo

You need to add:

  • APP_ID=YOUR-APP-ID
  • APP_SECRET=YOUR-SECRET
  • CT_URL=your-local-dash-url
  • NODE_ENV=production

Then you can deploy with:

grunt buildcontrol:heroku

Push Notifications

TBC. We should detail what notifications we use, including the channels in use. Think this is going to take some work since we have dozens coming from multiple services.

For now, use the code samples etc. to figure it out.

Translations

TBC

Contributing

Issues

Search before posting. Describe your issue in detail. Do not raise an issue if you have a problem with the API. Front-end only please.

Code

There's now contributing guide available which guides you through how we roll.

Copyright and License

MIT License

Copyright (c) 2016 Cucumber Tony Limited

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

cucumber-frontend's People

Contributors

ariandora avatar kolewa avatar molkenbur avatar simonmorley avatar

Watchers

 avatar  avatar  avatar  avatar  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.