From: Kumar Rishabh Date: Fri, 10 Feb 2017 05:01:59 +0000 (+0530) Subject: Added VNF_Catalogue Server X-Git-Tag: danube.1.0~310^2 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=76e8a833fb517d711a38fc4e122246e56cfd1f6b;p=releng.git Added VNF_Catalogue Server Change-Id: I45cedac46f06e6e1f080dd3bc38d6f79eec37fa6 Signed-off-by: Kumar Rishabh --- diff --git a/.gitignore b/.gitignore index 024dfac4b..91ccabc4b 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ wheels/ .venv/ venv/ ENV/ +node_modules/ diff --git a/utils/test/vnfcatalogue/VNF_Catalogue/README.md b/utils/test/vnfcatalogue/VNF_Catalogue/README.md new file mode 100644 index 000000000..32ad65416 --- /dev/null +++ b/utils/test/vnfcatalogue/VNF_Catalogue/README.md @@ -0,0 +1,12 @@ +#VNF_Catalogue Nodejs + Jade + MySql server + + +## Quickstart + +First install the dependencies + + ```npm install``` + +Then Start the Server + + ```npm start``` diff --git a/utils/test/vnfcatalogue/VNF_Catalogue/app.js b/utils/test/vnfcatalogue/VNF_Catalogue/app.js new file mode 100644 index 000000000..0f842b62d --- /dev/null +++ b/utils/test/vnfcatalogue/VNF_Catalogue/app.js @@ -0,0 +1,79 @@ +/******************************************************************************* + * Copyright (c) 2017 Kumar Rishabh and others. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Apache License, Version 2.0 + * which accompanies this distribution, and is available at + * http://www.apache.org/licenses/LICENSE-2.0 + *******************************************************************************/ + +var express = require('express'); +var path = require('path'); +var favicon = require('serve-favicon'); +var logger = require('morgan'); +var cookieParser = require('cookie-parser'); +var bodyParser = require('body-parser'); + +var routes = require('./routes/index'); +var search_projects = require('./routes/search_projects'); + +var app = express(); + +// view engine setup +app.set('views', path.join(__dirname, 'views')); +app.set('view engine', 'jade'); + +// Database +var db = require('mysql2'); + +// uncomment after placing your favicon in /public +//app.use(favicon(__dirname + '/public/favicon.ico')); +app.use(logger('dev')); +app.use(bodyParser.json()); +app.use(bodyParser.urlencoded({ extended: false })); +app.use(cookieParser()); +app.use(express.static(path.join(__dirname, 'public'))); + +// Make our db accessible to our router +app.use(function(req,res,next){ + req.db = db; + next(); +}); + +app.use('/', routes); +app.use('/search_projects', search_projects); + + +// Some Error handling for now #TODO Remove + +/// catch 404 and forwarding to error handler +app.use(function(req, res, next) { + var err = new Error('Not Found'); + err.status = 404; + next(err); +}); + + +// development error handler +// will print stacktrace +if (app.get('env') === 'development') { + app.use(function(err, req, res, next) { + res.status(err.status || 500); + res.render('error', { + message: err.message, + error: err + }); + }); +} + +// production error handler +// no stacktraces leaked to user +app.use(function(err, req, res, next) { + res.status(err.status || 500); + res.render('error', { + message: err.message, + error: {} + }); +}); + +module.exports = app; diff --git a/utils/test/vnfcatalogue/VNF_Catalogue/bin/www b/utils/test/vnfcatalogue/VNF_Catalogue/bin/www new file mode 100644 index 000000000..3cfbf7796 --- /dev/null +++ b/utils/test/vnfcatalogue/VNF_Catalogue/bin/www @@ -0,0 +1,9 @@ +#!/usr/bin/env node +var debug = require('debug')('my-application'); +var app = require('../app'); + +app.set('port', process.env.PORT || 3000); + +var server = app.listen(app.get('port'), function() { + debug('Express server listening on port ' + server.address().port); +}); diff --git a/utils/test/vnfcatalogue/VNF_Catalogue/package.json b/utils/test/vnfcatalogue/VNF_Catalogue/package.json new file mode 100644 index 000000000..7c6a86730 --- /dev/null +++ b/utils/test/vnfcatalogue/VNF_Catalogue/package.json @@ -0,0 +1,18 @@ +{ + "name": "VNF_Catalogue", + "version": "0.0.1", + "private": true, + "scripts": { + "start": "node ./bin/www" + }, + "dependencies": { + "body-parser": "~1.15.1", + "cookie-parser": "~1.4.3", + "debug": "~2.2.0", + "express": "~4.13.4", + "jade": "~1.11.0", + "morgan": "~1.7.0", + "serve-favicon": "~2.3.0", + "mysql2": "*" + } +} \ No newline at end of file diff --git a/utils/test/vnfcatalogue/assets/Vnf_landing/assets/images/3rd_party/commits.png b/utils/test/vnfcatalogue/VNF_Catalogue/public/images/3rd_party/commits.png similarity index 100% rename from utils/test/vnfcatalogue/assets/Vnf_landing/assets/images/3rd_party/commits.png rename to utils/test/vnfcatalogue/VNF_Catalogue/public/images/3rd_party/commits.png diff --git a/utils/test/vnfcatalogue/assets/Vnf_landing/assets/images/logo.png b/utils/test/vnfcatalogue/VNF_Catalogue/public/images/logo.png similarity index 100% rename from utils/test/vnfcatalogue/assets/Vnf_landing/assets/images/logo.png rename to utils/test/vnfcatalogue/VNF_Catalogue/public/images/logo.png diff --git a/utils/test/vnfcatalogue/VNF_Catalogue/public/javascripts/global.js b/utils/test/vnfcatalogue/VNF_Catalogue/public/javascripts/global.js new file mode 100644 index 000000000..73f16b67d --- /dev/null +++ b/utils/test/vnfcatalogue/VNF_Catalogue/public/javascripts/global.js @@ -0,0 +1,16 @@ +/******************************************************************************* + * Copyright (c) 2017 Kumar Rishabh and others. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Apache License, Version 2.0 + * which accompanies this distribution, and is available at + * http://www.apache.org/licenses/LICENSE-2.0 + *******************************************************************************/ + +$(document).ready( function() { + $('#Search').click(function() { + var tags = $('#Tags').val().toLowerCase().split(/[ ,]+/); + window.location.href = '/search_projects?tags=' + tags; + return false; + }); +}); diff --git a/utils/test/vnfcatalogue/assets/Vnf_landing/assets/css/3rd_party/bootstrap.css b/utils/test/vnfcatalogue/VNF_Catalogue/public/stylesheets/3rd_party/bootstrap.css similarity index 100% rename from utils/test/vnfcatalogue/assets/Vnf_landing/assets/css/3rd_party/bootstrap.css rename to utils/test/vnfcatalogue/VNF_Catalogue/public/stylesheets/3rd_party/bootstrap.css diff --git a/utils/test/vnfcatalogue/assets/Vnf_landing/assets/css/style.css b/utils/test/vnfcatalogue/VNF_Catalogue/public/stylesheets/style.css similarity index 98% rename from utils/test/vnfcatalogue/assets/Vnf_landing/assets/css/style.css rename to utils/test/vnfcatalogue/VNF_Catalogue/public/stylesheets/style.css index a37340cd3..e9b3c2d58 100644 --- a/utils/test/vnfcatalogue/assets/Vnf_landing/assets/css/style.css +++ b/utils/test/vnfcatalogue/VNF_Catalogue/public/stylesheets/style.css @@ -39,7 +39,7 @@ header ul li } header .logo { - background: url(../images/logo.png) no-repeat; + background: url(../../images/logo.png) no-repeat; background-size: cover; width: 155px; height: 34px; diff --git a/utils/test/vnfcatalogue/VNF_Catalogue/routes/index.js b/utils/test/vnfcatalogue/VNF_Catalogue/routes/index.js new file mode 100644 index 000000000..950fcd57e --- /dev/null +++ b/utils/test/vnfcatalogue/VNF_Catalogue/routes/index.js @@ -0,0 +1,18 @@ +/******************************************************************************* + * Copyright (c) 2017 Kumar Rishabh and others. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Apache License, Version 2.0 + * which accompanies this distribution, and is available at + * http://www.apache.org/licenses/LICENSE-2.0 + *******************************************************************************/ + +var express = require('express'); +var router = express.Router(); + +/* GET VNF_Catalogue Home Page. */ +router.get('/', function(req, res) { + res.render('index', { title: 'Express' }); +}); + +module.exports = router; diff --git a/utils/test/vnfcatalogue/VNF_Catalogue/routes/search_projects.js b/utils/test/vnfcatalogue/VNF_Catalogue/routes/search_projects.js new file mode 100644 index 000000000..49fceeb3c --- /dev/null +++ b/utils/test/vnfcatalogue/VNF_Catalogue/routes/search_projects.js @@ -0,0 +1,19 @@ +/******************************************************************************* + * Copyright (c) 2017 Kumar Rishabh and others. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Apache License, Version 2.0 + * which accompanies this distribution, and is available at + * http://www.apache.org/licenses/LICENSE-2.0 + *******************************************************************************/ + +var express = require('express'); +var router = express.Router(); + +router.get('/', function(req, res) { + var tags = req.param('tags'); + console.log(tags); + res.render('search_projects', { title: 'Express' }); +}); + +module.exports = router; diff --git a/utils/test/vnfcatalogue/VNF_Catalogue/views/error.jade b/utils/test/vnfcatalogue/VNF_Catalogue/views/error.jade new file mode 100644 index 000000000..4f7fbcaeb --- /dev/null +++ b/utils/test/vnfcatalogue/VNF_Catalogue/views/error.jade @@ -0,0 +1,12 @@ +// + Copyright (c) 2017 Kumar Rishabh and others. + All rights reserved. This program and the accompanying materials + are made available under the terms of the Apache License, Version 2.0 + which accompanies this distribution, and is available at + http://www.apache.org/licenses/LICENSE-2.0 +extends layout + +block content + h1= message + h2= error.status + pre #{error.stack} diff --git a/utils/test/vnfcatalogue/VNF_Catalogue/views/index.jade b/utils/test/vnfcatalogue/VNF_Catalogue/views/index.jade new file mode 100644 index 000000000..b183f360f --- /dev/null +++ b/utils/test/vnfcatalogue/VNF_Catalogue/views/index.jade @@ -0,0 +1,131 @@ +doctype html +// + Copyright (c) 2017 Kumar Rishabh and others. + All rights reserved. This program and the accompanying materials + are made available under the terms of the Apache License, Version 2.0 + which accompanies this distribution, and is available at + http://www.apache.org/licenses/LICENSE-2.0 +html(lang='en') + head + meta(charset='UTF-8') + title Document + link(rel='stylesheet', href='/stylesheets/3rd_party/bootstrap.css') + link(rel='stylesheet', href='/stylesheets/style.css') + body + script(type='text/javascript' src='http://code.jquery.com/jquery.min.js') + script(src='/javascripts/global.js') + header + ul.navigation + li.logo + li.links + a(href='#') Projects + li.links + a(href='#') People + li.links + a(href='#') About + ul.navigation-right + li.signup + a(href='#') Sign up + li.option or + li.signin + a(href='#') Sign in + .search-box + h1 VNF Catalogue + form.search-form + input.search-input(type='text', placeholder='Search...', id='Tags') + .space-10 + button.search-button(type='submit', value='Search', id='Search') Search + .content + ul.most-menu + li.items.active + a(href='#') Most Popular + li.items + a(href='#') Most Active + li.items + a(href='#') Most Active Contributions + .container + .row + .box-container + .col-md-3 + .content-box + .content-data + h1.content-title AAA + .box + img.commit-icon(src='/images/3rd_party/commits.png') + h3.commits + | 4,845 + br + | commits + .col-md-3 + .content-box + .content-data + h1.content-title AAA + .box + img.commit-icon(src='/images/3rd_party/commits.png') + h3.commits + | 4,845 + br + | commits + .col-md-3 + .content-box + .content-data + h1.content-title AAA + .box + img.commit-icon(src='/images/3rd_party/commits.png') + h3.commits + | 4,845 + br + | commits + .col-md-3 + .content-box + .content-data + h1.content-title AAA + .box + img.commit-icon(src='/images/3rd_party/commits.png') + h3.commits + | 4,845 + br + | commits + .col-md-3 + .content-box + .content-data + h1.content-title AAA + .box + img.commit-icon(src='/images/3rd_party/commits.png') + h3.commits + | 4,845 + br + | commits + .col-md-3 + .content-box + .content-data + h1.content-title AAA + .box + img.commit-icon(src='/images/3rd_party/commits.png') + h3.commits + | 4,845 + br + | commits + .col-md-3 + .content-box + .content-data + h1.content-title AAA + .box + img.commit-icon(src='/images/3rd_party/commits.png') + h3.commits + | 4,845 + br + | commits + .col-md-3 + .content-box + .content-data + h1.content-title AAA + .box + img.commit-icon(src='/images/3rd_party/commits.png') + h3.commits + | 4,845 + br + | commits + footer + | © 2017 OPNFV +script. diff --git a/utils/test/vnfcatalogue/VNF_Catalogue/views/layout.jade b/utils/test/vnfcatalogue/VNF_Catalogue/views/layout.jade new file mode 100644 index 000000000..7cc7dfc92 --- /dev/null +++ b/utils/test/vnfcatalogue/VNF_Catalogue/views/layout.jade @@ -0,0 +1,15 @@ +doctype html +// + Copyright (c) 2017 Kumar Rishabh and others. + All rights reserved. This program and the accompanying materials + are made available under the terms of the Apache License, Version 2.0 + which accompanies this distribution, and is available at + http://www.apache.org/licenses/LICENSE-2.0 +html + head + title= title + link(rel='stylesheet', href='/stylesheets/style.css') + body + block content + script(src='http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js') + script(src='/javascripts/global.js') diff --git a/utils/test/vnfcatalogue/VNF_Catalogue/views/search_projects.jade b/utils/test/vnfcatalogue/VNF_Catalogue/views/search_projects.jade new file mode 100644 index 000000000..3076543af --- /dev/null +++ b/utils/test/vnfcatalogue/VNF_Catalogue/views/search_projects.jade @@ -0,0 +1,128 @@ +doctype html +// + Copyright (c) 2017 Kumar Rishabh and others. + All rights reserved. This program and the accompanying materials + are made available under the terms of the Apache License, Version 2.0 + which accompanies this distribution, and is available at + http://www.apache.org/licenses/LICENSE-2.0 +html(lang='en') + head + meta(charset='UTF-8') + title Document + link(rel='stylesheet', href='/stylesheets/3rd_party/bootstrap.css') + link(rel='stylesheet', href='/stylesheets/style.css') + body + header + ul.navigation + li.logo + li.links + a(href='#') Projects + li.links + a(href='#') People + li.links + a(href='#') About + ul.navigation-right + li.signup + a(href='#') Sign up + li.option or + li.signin + a(href='#') Sign in + .search-box + h1 VNF Catalogue + form.search-form + input.search-input(type='text', placeholder='Search...') + .space-10 + button.search-button(type='submit', value='Search') Search + .content + ul.most-menu + li.items.active + a(href='#') Most Popular + li.items + a(href='#') Most Active + li.items + a(href='#') Most Active Contributions + .container + .row + .box-container + .col-md-3 + .content-box + .content-data + h1.content-title AAA + .box + img.commit-icon(src='/images/3rd_party/commits.png') + h3.commits + | 4,845 + br + | commits + .col-md-3 + .content-box + .content-data + h1.content-title AAA + .box + img.commit-icon(src='/images/3rd_party/commits.png') + h3.commits + | 4,845 + br + | commits + .col-md-3 + .content-box + .content-data + h1.content-title AAA + .box + img.commit-icon(src='/images/3rd_party/commits.png') + h3.commits + | 4,845 + br + | commits + .col-md-3 + .content-box + .content-data + h1.content-title AAA + .box + img.commit-icon(src='/images/3rd_party/commits.png') + h3.commits + | 4,845 + br + | commits + .col-md-3 + .content-box + .content-data + h1.content-title AAA + .box + img.commit-icon(src='/images/3rd_party/commits.png') + h3.commits + | 4,845 + br + | commits + .col-md-3 + .content-box + .content-data + h1.content-title AAA + .box + img.commit-icon(src='/images/3rd_party/commits.png') + h3.commits + | 4,845 + br + | commits + .col-md-3 + .content-box + .content-data + h1.content-title AAA + .box + img.commit-icon(src='/images/3rd_party/commits.png') + h3.commits + | 4,845 + br + | commits + .col-md-3 + .content-box + .content-data + h1.content-title AAA + .box + img.commit-icon(src='/images/3rd_party/commits.png') + h3.commits + | 4,845 + br + | commits + footer + | © 2017 OPNFV diff --git a/utils/test/vnfcatalogue/assets/Vnf_landing/index.html b/utils/test/vnfcatalogue/assets/Vnf_landing/index.html deleted file mode 100644 index 5aebd4681..000000000 --- a/utils/test/vnfcatalogue/assets/Vnf_landing/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - Document - - - - -
- - -
- -
- -
-
-
-
-
-
-

AAA

-
- -

4,845
commits

-
-
-
-
-
-
-
-
-

AAA

-
- -

4,845
commits

-
-
-
-
-
-
-
-

AAA

-
- -

4,845
commits

-
-
-
-
-
-
-
-

AAA

-
- -

4,845
commits

-
-
-
-
-
-
-
-

AAA

-
- -

4,845
commits

-
-
-
-
-
-
-
-

AAA

-
- -

4,845
commits

-
-
-
-
-
-
-
-

AAA

-
- -

4,845
commits

-
-
-
-
-
-
-
-

AAA

-
- -

4,845
commits

-
-
-
-
-
-
- -
- -