From d86b8ca74e358a75e25045e65e92d186338acf5c Mon Sep 17 00:00:00 2001 From: Rolf Date: Sat, 17 Jan 2015 22:47:20 -0500 Subject: [PATCH] initial commit - starter pack from Bluemix --- README.md | 32 +++++++++++ README.txt | 30 +++++++++++ app.js | 41 +++++++++++++++ instructions/de/instructions.md | 24 +++++++++ instructions/es/instructions.md | 24 +++++++++ instructions/fr/instructions.md | 26 +++++++++ instructions/instructions.md | 24 +++++++++ instructions/it/instructions.md | 24 +++++++++ instructions/ja/instructions.md | 24 +++++++++ instructions/pt-br/instructions.md | 24 +++++++++ instructions/zh-cn/instructions.md | 23 ++++++++ instructions/zh-tw/instructions.md | 24 +++++++++ manifest.yml | 9 ++++ package.json | 13 +++++ public/images/newapp-icon.png | Bin 0 -> 13899 bytes public/stylesheets/style.css | 82 +++++++++++++++++++++++++++++ views/body.jade | 12 +++++ views/head.jade | 8 +++ views/index.jade | 8 +++ 19 files changed, 452 insertions(+) create mode 100644 README.txt create mode 100644 app.js create mode 100644 instructions/de/instructions.md create mode 100644 instructions/es/instructions.md create mode 100644 instructions/fr/instructions.md create mode 100644 instructions/instructions.md create mode 100644 instructions/it/instructions.md create mode 100644 instructions/ja/instructions.md create mode 100644 instructions/pt-br/instructions.md create mode 100644 instructions/zh-cn/instructions.md create mode 100644 instructions/zh-tw/instructions.md create mode 100644 manifest.yml create mode 100644 package.json create mode 100644 public/images/newapp-icon.png create mode 100644 public/stylesheets/style.css create mode 100644 views/body.jade create mode 100644 views/head.jade create mode 100644 views/index.jade diff --git a/README.md b/README.md index 2f8d633..ae2afd8 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,34 @@ # StackMonkey Various monkey apps for stack and bluemix + + +# Node.js Starter Application + +Bluemix provides a Node.js starter application as a template so that you can add your code and push the changes back to the Bluemix environment. + + +## Files + +The Node.js starter application has files as below: + +* instructions.md + + This file describes the Next Steps for getting started with this template. + +* app.js + + This file contains the server side JavaScript code for your application written using the Node.js API + +* views/ + + This directory contains the views of the application. It is required by the express framework and jade template engine in this sample application. + +* public/ + + This directory contains public resources of the application. It is required by the express framework in this sample application. + +* package.json + + This file is required by the Node.js environment. It specifies this Node.js project name, dependencies, and other configurations of your Node.js application. + + diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..bdd7a59 --- /dev/null +++ b/README.txt @@ -0,0 +1,30 @@ +# Node.js Starter Application + +Bluemix provides a Node.js starter application as a template so that you can add your code and push the changes back to the Bluemix environment. + + +## Files + +The Node.js starter application has files as below: + +* instructions.md + + This file describes the Next Steps for getting started with this template. + +* app.js + + This file contains the server side JavaScript code for your application written using the Node.js API + +* views/ + + This directory contains the views of the application. It is required by the express framework and jade template engine in this sample application. + +* public/ + + This directory contains public resources of the application. It is required by the express framework in this sample application. + +* package.json + + This file is required by the Node.js environment. It specifies this Node.js project name, dependencies, and other configurations of your Node.js application. + + diff --git a/app.js b/app.js new file mode 100644 index 0000000..f289eb3 --- /dev/null +++ b/app.js @@ -0,0 +1,41 @@ +/*jshint node:true*/ + +// app.js +// This file contains the server side JavaScript code for your application. +// This sample application uses express as web application framework (http://expressjs.com/), +// and jade as template engine (http://jade-lang.com/). + +var express = require('express'); + +// setup middleware +var app = express(); +app.use(app.router); +app.use(express.errorHandler()); +app.use(express.static(__dirname + '/public')); //setup static public directory +app.set('view engine', 'jade'); +app.set('views', __dirname + '/views'); //optional since express defaults to CWD/views + +// render index page +app.get('/', function(req, res){ + res.render('index'); +}); + +// There are many useful environment variables available in process.env. +// VCAP_APPLICATION contains useful information about a deployed application. +var appInfo = JSON.parse(process.env.VCAP_APPLICATION || "{}"); +// TODO: Get application information and use it in your app. + +// VCAP_SERVICES contains all the credentials of services bound to +// this application. For details of its content, please refer to +// the document or sample of each service. +var services = JSON.parse(process.env.VCAP_SERVICES || "{}"); +// TODO: Get service credentials and communicate with bluemix services. + +// The IP address of the Cloud Foundry DEA (Droplet Execution Agent) that hosts this application: +var host = (process.env.VCAP_APP_HOST || 'localhost'); +// The port on the DEA for communication with the application: +var port = (process.env.VCAP_APP_PORT || 3000); +// Start server +app.listen(port, host); +console.log('App started on port ' + port); + diff --git a/instructions/de/instructions.md b/instructions/de/instructions.md new file mode 100644 index 0000000..1a459c2 --- /dev/null +++ b/instructions/de/instructions.md @@ -0,0 +1,24 @@ +Einführung in ${app} +----------------------------------- +Willkommen bei Ihrer neuen Node.js-Anwendung! + +Die Node.js-Anwendung wird in einer serverseitigen, stark skalierbaren, ereignisgesteuerten Hochleistungsumgebung mit nicht blockierender E/A ausgeführt, die in der Programmiersprache JavaScript geschrieben ist. + +1. [Das Befehlszeilentool 'cf' installieren](${doc-url}/#starters/BuildingWeb.html#install_cf). +2. [Das Starteranwendungspaket herunterladen](${ace-url}/rest/apps/${app-guid}/starter-download). +3. Das Paket extrahieren und nach `cd` wechseln. +4. Verbindung zu Bluemix herstellen: + + cf api ${api-url} + +5. Bei Bluemix anmelden: + + cf login -u ${username} + cf target -o ${org} -s ${space} + +6. Ihre Anwendung (App) bereitstellen: + + cf push ${app} + +7. Auf Ihre Anwendung (App) zugreifen: [${route}](//${route}) + diff --git a/instructions/es/instructions.md b/instructions/es/instructions.md new file mode 100644 index 0000000..66ac973 --- /dev/null +++ b/instructions/es/instructions.md @@ -0,0 +1,24 @@ +Empiece a trabajar con ${app} +----------------------------------- +Bienvenido a su nueva app Node.js. + +La app Node.js se ejecuta en un entorno de alto rendimiento del lado del servidor, altamente escalable y controlado por eventos, con un sistema de E/S sin bloqueo programado con el lenguaje de programación JavaScript. + +1. [Instale la herramienta de línea de mandatos cf](${doc-url}/#starters/BuildingWeb.html#install_cf). +2. [Descargue el paquete de aplicación de inicio](${ace-url}/rest/apps/${app-guid}/starter-download). +3. Extraiga el paquete y ejecute `cd` para ir al mismo. +4. Conéctese a Bluemix: + + cf api ${api-url} + +5. Inicie la sesión en Bluemix: + + cf login -u ${username} + cf target -o ${org} -s ${space} + +6. Despliegue su app: + + cf push ${app} + +7. Acceda a la app: [${ruta}](//${route}) + diff --git a/instructions/fr/instructions.md b/instructions/fr/instructions.md new file mode 100644 index 0000000..8b956dd --- /dev/null +++ b/instructions/fr/instructions.md @@ -0,0 +1,26 @@ +Initiation à ${app} +----------------------------------- +Bienvenue dans votre nouvelle application Node.js ! + +L'application Node.js s'exécute dans un environnement géré par des événements, hautement évolutif et très performant côté serveur avec une +entrée-sortie non bloquante en langage de programmation JavaScript. + + +1. [Installez l'outil de ligne de commande cf](${doc-url}/#starters/BuildingWeb.html#install_cf). +2. [Téléchargez le package d'applications du module de démarrage](${ace-url}/rest/apps/${app-guid}/starter-download). +3. Procédez à l'extraction du package et placez-vous dans le répertoire correspondant à l'aide de la commande `cd`. +4. Accédez à Bluemix : + + cf api ${url-api} + +5. Connectez-vous à Bluemix : + + cf login -u ${nom-utilisateur} + cf target -o ${org} -s ${espace} + +6. Déployez votre application : + + cf push ${app} + +7. Accédez à votre application : [${route}](//${route}) + diff --git a/instructions/instructions.md b/instructions/instructions.md new file mode 100644 index 0000000..b34d567 --- /dev/null +++ b/instructions/instructions.md @@ -0,0 +1,24 @@ +Get started with StackMonkey +----------------------------------- +Welcome to your new Node.js app! + +Node.js app runs on a server-side high performance, highly scalable, event-driven environment with non-blocking I/O that is programmed with the JavaScript programming language. + +1. [Install the cf command-line tool](https://www.ng.bluemix.net/docs/#starters/BuildingWeb.html#install_cf). +2. [Download the starter application package](https://console.ng.bluemix.net:443/rest/../rest/apps/87e82ab0-d0bd-4dc7-aca4-0ae5d58c33d1/starter-download). +3. Extract the package and `cd` to it. +4. Connect to Bluemix: + + cf api https://api.ng.bluemix.net + +5. Log into Bluemix: + + cf login -u rolf-bm@tuis.net + cf target -o rolf-bm@tuis.net -s dev + +6. Deploy your app: + + cf push StackMonkey + +7. Access your app: [stackmonkey.mybluemix.net](//stackmonkey.mybluemix.net) + diff --git a/instructions/it/instructions.md b/instructions/it/instructions.md new file mode 100644 index 0000000..4dd7173 --- /dev/null +++ b/instructions/it/instructions.md @@ -0,0 +1,24 @@ +Introduzione a ${app} +----------------------------------- +Benvenuti nella nuova app Node.js! + +La app Node.js viene eseguita in un ambiente basato su eventi, altamente scalabile e ad elevate prestazioni sul lato server con I/O non bloccante programmato con il linguaggio JavaScript. + +1. [Installare lo strumento della riga di comando cf](${doc-url}/#starters/BuildingWeb.html#install_cf). +2. [Scaricare il package applicazione starter](${ace-url}/rest/apps/${app-guid}/starter-download). +3. Estrarre il package e `cd`. +4. Connetti a Bluemix: + + cf api ${api-url} + +5. Accedi a Bluemix: + + cf login -u ${username} + cf target -o ${org} -s ${space} + +6. Distribuisci la app: + + cf push ${app} + +7. Accedi alla app: [${route}](//${route}) + diff --git a/instructions/ja/instructions.md b/instructions/ja/instructions.md new file mode 100644 index 0000000..cab6b9e --- /dev/null +++ b/instructions/ja/instructions.md @@ -0,0 +1,24 @@ +${app}: 始めに +----------------------------------- +新しい Node.js アプリへようこそ + +Node.js アプリは、サーバー・サイドのハイパフォーマンス、ハイ・スケーラブルなイベント・ドリブン環境で実行され、JavaScript プログラミング言語でプログラミングされるノンブロッキング I/O が使用されます。 + +1. [cf コマンド・ライン・ツールをインストールします](${doc-url}/#starters/BuildingWeb.html#install_cf)。 +2. [スターター・アプリケーション・パッケージをダウンロードします](${ace-url}/rest/apps/${app-guid}/starter-download)。 +3. パッケージを解凍し、そのパッケージに `cd` で移動します。 +4. Bluemix への接続: + + cf api ${api-url} + +5. Bluemix へのログイン: + + cf login -u ${username} + cf target -o ${org} -s ${space} + +6. アプリのデプロイ: + + cf push ${app} + +7. アプリへのアクセス: [${route}](//${route}) + diff --git a/instructions/pt-br/instructions.md b/instructions/pt-br/instructions.md new file mode 100644 index 0000000..e736292 --- /dev/null +++ b/instructions/pt-br/instructions.md @@ -0,0 +1,24 @@ +Introdução ao ${app} +----------------------------------- +Bem-vindo ao novo app Node.js! + +O app Node.js é executado em um ambiente acionado por evento, altamente escalável e de alto desempenho do lado do servidor com E/S sem bloqueio que é programada com a linguagem de programação JavaScript. + +1. [Instale a ferramenta de linha de comandos cf](${doc-url}/#starters/BuildingWeb.html#install_cf). +2. [Faça o download do pacote de aplicativo iniciador](${ace-url}/rest/apps/${app-guid}/starter-download). +3. Extraia o pacote e `cd` para ele. +4. Conecte-se ao Bluemix: + + cf api ${api-url} + +5. Efetue login no Bluemix: + + cf login -u ${username} + cf target -o ${org} -s ${space} + +6. Implemente seu app: + + cf push ${app} + +7. Acesse seu app: [${route}](//${route}) + diff --git a/instructions/zh-cn/instructions.md b/instructions/zh-cn/instructions.md new file mode 100644 index 0000000..8aca3ab --- /dev/null +++ b/instructions/zh-cn/instructions.md @@ -0,0 +1,23 @@ +${app} 入门 +----------------------------------- +欢迎使用新 Node.js 应用程序! +Node.js 应用程序在服务器端的高性能、可高度扩展、以事件驱动的环境中运行,该环境具有以 JavaScript 编程语言编写的非阻塞的 I/O。 + +1. [安装 cf 命令行工具](${doc-url}/#starters/BuildingWeb.html#install_cf)。 +2. [下载起动器应用程序包](${ace-url}/rest/apps/${app-guid}/starter-download)。 +3. 将程序包和 `cd` 抽取到它。 +4. 连接到 Bluemix: + + cf api ${api-url} + +5. 登录到 Bluemix: + + cf login -u ${username} + cf target -o ${org} -s ${space} + +6. 部署您的应用程序: + + cf push ${app} + +7. 访问您的应用程序:[${route}](//${route}) + diff --git a/instructions/zh-tw/instructions.md b/instructions/zh-tw/instructions.md new file mode 100644 index 0000000..817baa1 --- /dev/null +++ b/instructions/zh-tw/instructions.md @@ -0,0 +1,24 @@ +開始使用 ${app} +----------------------------------- +歡迎使用您的新 Node.js 應用程式! + +Node.js 應用程式在伺服器端的高效能、高度可調整、事件驅動的環境上執行,且使用以 JavaScript 程式設計語言設計的非阻擋式 I/O。 + +1. [安裝 cf 指令行工具](${doc-url}/#starters/BuildingWeb.html#install_cf)。 +2. [下載入門範本應用程式套件](${ace-url}/rest/apps/${app-guid}/starter-download)。 +3. 解開套件並 `cd` 到該處。 +4. 連接至 Bluemix: + + cf api ${api-url} + +5. 登入 Bluemix: + + cf login -u ${username} + cf target -o ${org} -s ${space} + +6. 部署您的應用程式: + + cf push ${app} + +7. 存取您的應用程式:[${route}](//${route}) + diff --git a/manifest.yml b/manifest.yml new file mode 100644 index 0000000..144cea3 --- /dev/null +++ b/manifest.yml @@ -0,0 +1,9 @@ +applications: +- disk_quota: 1024M + host: stackmonkey + name: StackMonkey + command: node app.js + path: . + domain: mybluemix.net + instances: 1 + memory: 128M diff --git a/package.json b/package.json new file mode 100644 index 0000000..48cdd69 --- /dev/null +++ b/package.json @@ -0,0 +1,13 @@ +{ + "name": "NodejsStarterApp", + "version": "0.0.1", + "description": "A sample nodejs app for Bluemix", + "dependencies": { + "express": "3.4.7", + "jade": "1.1.4" + }, + "engines": { + "node": "0.10.*" + }, + "repository": {} +} diff --git a/public/images/newapp-icon.png b/public/images/newapp-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..41cf02f334ae67fa10f6a0d97257bddf4d13df99 GIT binary patch literal 13899 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 NK}J=&24wc*{{XGq?HB+6 literal 0 HcmV?d00001 diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css new file mode 100644 index 0000000..995c2dc --- /dev/null +++ b/public/stylesheets/style.css @@ -0,0 +1,82 @@ +/* style.css + * This file provides css styles. + */ + +body,html { + background-color: #3b4b54; width : 100%; + height: 100%; + margin: 0 auto; + font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; + color: #ffffff; +} + +a { + text-decoration: none; + color: #00aed1; +} + +a:hover { + text-decoration: underline; +} + +img { + padding-top: 10%; + display: block; + margin: 0 auto; + padding-bottom: 2em; + max-width:200px; +} + +h1 { + font-weight: bold; + font-size: 2em; +} + +.leftHalf { + float: left; + background-color: #26343f; + width: 45%; + height: 100%; +} + +.rightHalf { + float: right; + width: 55%; + background-color: #313f4a; + height: 100%; + overflow:auto; +} + +.blue { + color: #00aed1; +} + + +table { + table-layout: fixed; + width: 800px; + margin: 0 auto; + word-wrap: break-word; + padding-top:10%; +} + +th { + border-bottom: 1px solid #000; +} + +th, td { + text-align: left; + padding: 2px 20px; +} + +.env-var { + text-align: right; + border-right: 1px solid #000; + width: 30%; +} + +pre { + padding: 0; + margin: 0; +} + diff --git a/views/body.jade b/views/body.jade new file mode 100644 index 0000000..0283902 --- /dev/null +++ b/views/body.jade @@ -0,0 +1,12 @@ +//- body.jade +//- This file provides the HTML body part. + + +body + table + tr + td(style= "width:30%;" ) + img(src="/images/newapp-icon.png") + td + h1 Hi there! + p Thanks for creating a NodeJS Starter Application. Get started by reading our documentation or use the Start Coding guide under your app in your dashboard. diff --git a/views/head.jade b/views/head.jade new file mode 100644 index 0000000..575920a --- /dev/null +++ b/views/head.jade @@ -0,0 +1,8 @@ +//- head.jade +//- This file provides the HTML head part + +head + title NodeJS Starter Application + meta(http-equiv="Content-Type", content="text/html; charset=utf-8") + link(rel="stylesheet", href="/stylesheets/style.css") + diff --git a/views/index.jade b/views/index.jade new file mode 100644 index 0000000..794a43e --- /dev/null +++ b/views/index.jade @@ -0,0 +1,8 @@ +//- index.jade +//- This file defines the view of this app. + +doctype html +html + include head + include body +