This is the Source Code Repository to be used for the IoT Developer Portal WebSite.
-//TODO
-//TODO
| Web Dev | Design |
|---|---|
| Hari Mukkapati (Dev-Mgr) | Daniel Scholl (Team-Mgr) |
| Anish Madhi (Dev) | Johnny Chance (Design) |
| Rajesh Chaganti (Dev) | Srini Bhukya (Design) |
| Karthik Vellaichamy (Dev) | Ning Fang (UX) |
| Sung Park (Dev) | Michael Mucciarone (UX) |
| Gerry Hernandez (Dev) |
- TBD
- TBD
- MEAN Stack (Mongo, Express, Angular, Node)
- Language (Javascript w/ TypeScript as a Superset)
- Build Tools (Gulp)
- Testing Tools (Mocha, Karma, Protractor)
- Domain:
- Responsive:
- Browser requirements
- Internet Explorer 11
- Chrome 43
- Firefox 38
- Safari 8.0.7
- Device Requirements
- None
- Page load time expectations
- Under 3 seconds
- Scale and anticipated volume of traffic
- Needs to be able to handle low usage patterns
- Environments
- Development -- LocalHost
- CI -- Azure Hosted
- Production -- Laniakea Hosted
- Analytics
- Integration with Google Analytics
- Only open ports exposed to the Internet are 80 and 22.
- Application Scanning may be performed prior to going live and randomly as needed by Rapid7 Nexpose or Qualys Application Scanner.
- The application should be secured against most of the top vulnerabilities identified by OWASP
- TBD
The following requirements apply to the Production Hardware Installation.
| FUNCTION | Virtual Hardware |
|---|
|
|
Table: Hardware Requirements.
The following requirements apply to the Production Docker Containerization
| Container | Purpose |
|---|
|
|
Table: Container Requirements.
The following requirements apply to the Software Installation.
| COMPONENT | VERSION | COMPONENT | VERSION |
|---|---|---|---|
| Scripting Language | Node - 0.12.2 | Bower Package Module | angular |
- Node Package Module | async | Bower Package Module | json3
- Node Package Module | bcrypt-nodejs | Bower Package Module | es5-shim
- Node Package Module | body-parser | Bower Package Module | jquery
- Node Package Module | composable-middleware | Bower Package Module | bootstrap-sass-official
- Node Package Module | compression | Bower Package Module | angular-resource
- Node Package Module | connect-mongo | Bower Package Module | angular-cookies
- Node Package Module | cookie-parser | Bower Package Module | angular-sanitize
- Node Package Module | deasync | Bower Package Module | angular-ui-router
- Node Package Module | debug | Bower Package Module | font-awesome
- Node Package Module | ejs | Bower Package Module | lodash
- Node Package Module | errorhandler | Bower Package Module | angular-google-analytics
- Node Package Module | express | Bower Package Module | scrollmagic
- Node Package Module | express-jwt | Bower Package Module | greensock
- Node Package Module | express-session | Bower Package Module | underscore
- Node Package Module | feed | Bower Package Module | moment
- Node Package Module | joi | Bower Package Module | PatternLibrary
- Node Package Module | jsonwebtoken | Bower Package Module | angular-uuid
- Node Package Module | lodash | Database | MongoDB - 2.0.2
- Node Package Module | method-override
- Node Package Module | mongodb
- Node Package Module | morgan
- Node Package Module | node-linq
- Node Package Module | node-uuid
- Node Package Module | passport
- Node Package Module | passport-local
Table: Installed Software Required Versions.
-TBD
- TBD
CI/CD For Development via Bamboo. Docker Container Builds for Production via virtualized Jenkins server.
-
npm install
-
bower install
-
tsd install
-
Open up a Terminal Window and start up MongoDB.
$ mongodb
5. Start up the Visual Studio Code Editor and ensure source code folder ./src is open.
6. To enable development build watcher <cmd><shift>B and to stop <cmd><shift>X
_*Alternate terminal method_
```
npm start
```
Build Environment
---------------
### Getting Started
portals.status DevOps uses 'ansible provisioner. It means that your build environment is built from the source code.
1. Install VirtualBox
[https://www.virtualbox.org/wiki/Downloads](https://www.virtualbox.org/wiki/Downloads)
2. Install Vagrant
[http://docs.vagrantup.com/v2/installation/index.html](http://docs.vagrantup.com/v2/installation/index.html)
3. Install Required Vagrant Plugins
- vagrant-share (1.1.3)
4. Build your environment
To build your environment in the chef directory execute the command:
```
$ vagrant up
```
Vagrant will start to build your environment. You'll see green status
messages while the box is configuring the system.
>
NOTE: Vagrant supports multiple providers for virtualization. If you have different providers installed in your machine you can specify which provider to use.
```
$ vagrant up --provider=virtualbox
```
6. Visit [http://localhost:800](http://localhost:800) address and you'll see the jenkins build page.
### Basic Usage
Vagrant's basic commands (should be executed inside DevOps directory):
* SSH into the virtual machine.
```
$ vagrant ssh
```
* Start the virtual machine.
```
$ vagrant up
```
* Stop the virtual machine.
```
$ vagrant halt
```
* Destroy the virtual machine.
>
Destroy your virtual machine. Source code and content of data directory will remain unchangeable. VirtualBox machine instance will be destroyed only. You can build your machine again with 'vagrant up' command. The command is useful if you want to save disk space.
```
$ vagrant destroy
```
* Configure virtual machine
>
Useful if you have overwriten a file that you want reset. ie: httpd.conf
```
$ vagrant provision
```
* Reload the virtual machine.
>
Userful when you need to change network or synced folder settings.
```
$ vagrant reload
```
Official Vagrant site has more documentation.
[http://docs.vagrantup.com/v2/](http://docs.vagrantup.com/v2/)