Register
Submit a solution
The challenge is finished.

Challenge Overview

At [topcoder] we are big fans of the mean stack and specifically like the scaffolding and organization provided by mean.io.   However sometimes our data needs to be relational  to deal with legacy projects or to sync with Salesforce.com.  For this challenge you will extend the mean.io base package to also include models from postgres.  We are looking for a little more than just adding a pg module,  the winning solution will provide a step by step guide from installing mean.io to adding a model via postgres to deploying to Heroku.

Functional Requirements:

1.  Install mean.io [ sudo npm install -g meanio ]
2.  Choose and install a node PostgreSQL client (node-postgres or equivalent ) and support your decision, by mentioning any you evaluated and eliminated.
3. In your db include a table called ‘challenges’ which has at least 5 fields that include data.  (please include at least one type that is JSON and JSONB Here are some suggestions 
  a. startDate: datetime
  b. endDate: datetime
  c. title: text
  d. overview: Rich text
  e. description: varchar(140)
  f. functionalRequirements: JSON
  g. technicalRequirements: JSONB (if supported)
  h. tags: array or JSON array
4. create a [meanio] ‘package’ called ‘challenges’ that support simple CRUD to your postgres table instead of a mongo collection.
5. Create some views for ‘challenges’, similar to the Articles example supplied by mean.io

Technical Requirements:


1. Solution must start with latest meanio and not remove any dependencies.
2. Solution must include steps to add postgres client (package.json addition) 
3. Solution must include basic CRUD actions for ‘challenge’ object.
4. Solution should be a manual extension of meanio and future upgrades of meanio should not break the scaffolding system.
5. Solution must use v9.4 of PostgreSQL
6. Solution should support PostgreSQL on MongoDB concurrently 
7. Solution may be deployed on Heroku, it is prefered but not required

Resources:
http://mean.io/
https://github.com/linnovate/mean
http://www.postgresql.org/docs/9.4/static/datatype.html
https://github.com/brianc/node-postgres
http://sequelizejs.com/



Final Submission Guidelines

1.  Provide clear concise documentation, this challenge is as much about the process as it is about the code.
2. Please provide a quick video highlighting your solution in action, If English is not your first language feel free to annotate your video with text.
3. Provide your code in a single zip file.

ELIGIBLE EVENTS:

2015 topcoder Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30045010