diff --git a/biomed-frontend/gulpfile.js b/biomed-frontend/gulpfile.js index df42bc2..5a1bf7f 100644 --- a/biomed-frontend/gulpfile.js +++ b/biomed-frontend/gulpfile.js @@ -103,18 +103,24 @@ function startExpress() { app.use(require('connect-livereload')()); +/* app.use('/api', express.static(__dirname + '/demo', { index: ['index.json'] })); app.use('/demo', express.static(__dirname + '/demo')); - app.use(express.static('build')); +*/ -/* app.all('/api/*', function(req, res) { - var url = 'http://localhost:8080' + req.url; + var url = 'http://new.atlb.co/' + req.url; req.pipe(request(url)).pipe(res); }); -*/ + + app.all('/images/*', function(req, res) { + var url = 'http://new.atlb.co/' + req.url; + req.pipe(request(url)).pipe(res); + }); + + app.use(express.static('build')); app.all('/*', function(req, res) { res.sendFile('index.html', { root: 'build' }); diff --git a/biomed-frontend/src/app/details.html b/biomed-frontend/src/app/details.html index 78afa5e..8d858a9 100644 --- a/biomed-frontend/src/app/details.html +++ b/biomed-frontend/src/app/details.html @@ -1,6 +1,7 @@ - +
{{post.title}}
-
{{post.body}}
+
{{post.preview}}
+
{{post.details}}
- +
diff --git a/biomed-frontend/src/app/index.js b/biomed-frontend/src/app/index.js index 81d6783..91aa4cc 100644 --- a/biomed-frontend/src/app/index.js +++ b/biomed-frontend/src/app/index.js @@ -7,8 +7,8 @@ angular.module('biomed-frontend', [ ]) .factory('Posts', function($resource) { - return $resource('/api/:id', - { id: '@id' } + return $resource('/api/v1/posts/:_id', + { '_id': '@_id' } ); }) .config(function($urlRouterProvider, $locationProvider) { @@ -25,25 +25,34 @@ angular.module('biomed-frontend', [ templateUrl: 'app/list.html', resolve: { posts: function(Posts) { - return Posts.query(); + return Posts.query({ + 'status': 'posted', + 'sort': '-createdOn', + }); } }, controller: function($scope, posts, $timeout) { $scope.posts = posts; + + $scope.showMore = function(post) { + return post.details || post.gallery.length > 0; + } } }) .state('site.details', { - url: '/posts/:id', + url: '/posts/:_id', templateUrl: 'app/details.html', resolve: { post: function(Posts, $stateParams) { - return Posts.get($stateParams); + return Posts.get({ + '_id': $stateParams._id + }); } }, controller: function($scope, post) { post.$promise.then(function() { $scope.post = post; - $scope.images = post.images; + $scope.gallery = post.gallery; }); } }); diff --git a/biomed-frontend/src/app/list.html b/biomed-frontend/src/app/list.html index 4ecea16..57817a1 100644 --- a/biomed-frontend/src/app/list.html +++ b/biomed-frontend/src/app/list.html @@ -2,12 +2,12 @@
- +

{{post.title}}

-

{{post.body}}

+

{{post.preview}}

- Read More + Read More

diff --git a/biomed-webserver/package.json b/biomed-webserver/package.json new file mode 100644 index 0000000..4884a4c --- /dev/null +++ b/biomed-webserver/package.json @@ -0,0 +1,12 @@ +{ + "name": "biomed-webserver", + "version": "0.0.1", + "devDependencies": {}, + "dependencies": { + "express": "~4.9.5", + "body-parser": "~1.9.0", + "method-override": "~2.2.0", + "mongoose": "~3.8.17", + "express-restify-mongoose": "~0.6.10" + } +} diff --git a/biomed-webserver/server.js b/biomed-webserver/server.js new file mode 100644 index 0000000..ea76c37 --- /dev/null +++ b/biomed-webserver/server.js @@ -0,0 +1,35 @@ +var http = require('http'); +var express = require('express'); +var bodyParser = require('body-parser'); +var methodOverride = require('method-override'); +var mongoose = require('mongoose'); +var Schema = mongoose.Schema; +var restify = require('express-restify-mongoose'); + +mongoose.connect('mongodb://localhost/biomed'); + +var Post = new Schema({ + title: { type: String }, + preview: { type: String }, + details: { type: String }, + image: { type: String }, + gallery: [ + { type: String } + ], + status: { type: String } +}); +var PostModel = mongoose.model('Post', Post); + +var app = express(); +app.use(bodyParser.json()); +app.use(bodyParser.urlencoded({ extended: true })); +app.use(methodOverride()); +restify.serve(app, PostModel, { + prereq: function(req) { + return req.method === 'GET'; + } +}); + +http.createServer(app).listen(3000, function() { + console.log('Express server listening on port 3000'); +});