I am participating in Node KnockOut for first time. It was fun to participate and I have realized how much you learn when you have work with deadline and competition environment. Being newbie in nodejs, developing working app and first heroku deployment has been great experience. Great takeaway for me is learning to use Config Variables for Heroku to avoid placing sensitive information on git and code!

Team Members

Launch Site

HealthPlanner

A website that allows users to participate into predefined health plans like "30 day meal plan for weight loss". User registered as Instructor will be able to create lessons in health plans. User can register themselves as Student if they wish to enroll in the plans available.

V800 team afae07d5b510ab732b0e5706d3f92c96 1510592021

Description

URL - http://nodeone.2017.nodeknockout.com

The home page of shows welcome message, signup button to register users. It also displays health plans available that user can register and enroll in.

Signup page displays user registration page with account type, first name, last name, email, username, password. There are validation built in to make sure name field email is entered. Email format is also validated. Password is encrypted before storing. The sign-up functionality is build with passport module.

Login form on right side allows registered users to login. Once logged in, user is shown plans he\she is enrolled in. If you are user of type instructor then you will be able to add lessons. Users of type student will only be allowed to view plans and lessons in ready only mode.

Plans page shows the available plans for users to register. Under each plans you can click on details to view plan details and register for the plan. The plans users have registered for are available under My Plans link on left side.

The idea is community based health plans where users create health plans and other users access them. The app can be further improved a lot. This was great learning.

Note - Due to time limit, I was not able to implement creation of plans for instructor type of users, so right now limiting functionality to just available plans. Instructor type of users will be able to add lessons to existing plans. Student type of user will be register for available plans and access lessons under "My Plans".

Thank you NodeKnowOut team and sponsors.

Instructions

  1. Using sign-up button on home page - register one user of type instructor and one user of type student.

  2. Login with instructor user and visit plan page to register for a plan. Access plan and lessons under My Plans. As a instructor, you can add lesson in the plan you have registered.

  3. Login with student user and visit plan page. Register for a plan and access plan and lessons under My Plans.

Built With

  • Express Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications
  • express-generator Express' application generator
  • npm as the package manager
  • passport Simple, unobtrusive authentication for Node.js
  • bcryptjs Optimized bcrypt in JavaScript with zero dependencies.
  • HTML KickStart Ultra–Lean HTML5, CSS, & JS Building Blocks
  • MongoDB mLab Leading NoSQL Database. mLab Cloud hosted MongoDB
  • mongoose - mongodb object modeling for node.js
  • connect-flash - connect-flash- uses the session to store flash messages.
  • express-messages
  • express-validator

Feedback / Ratings (3)

All Feedback