Milestones - GamifyTasksTeam/GamifyTasks GitHub Wiki

Milestone 1

Server setup

The first task after deciding architecture was to set up the server. GamifyTasks.com was purchased. A VPS was set up on DigitalOcean running Ubuntu. This VPS was set up with Git, Node.js, Forever.js, and MongoDB.

After a basic structure was added to the app, it was added to the server and the web server was started.

Static pages

This web app will have several static pages which were designed and added:

  • Home
  • About
  • Contact
  • Login

These pages use Bootstrap for responsive design.

OATH2 - Google

Passport.js was the authentication method of choice, and it was added with Google OATH2 support. Logged in users are stored to the MongoDB database.

Basics of Single Page App

A basic demo for the single page app was added as a foundation for the rest of the app. It includes ember.js and with routes, models, etc.

Milestone 2

Database and Models

Database collections were created with Mongoose models for rewards, tasks, and wallets.

After successful sign up, a user and wallet document are automatically created.

REST API

The REST API for the app was constructed in Node. It includes CRUD calls for the Tasks and Rewards, as well as read and update calls for the wallet.

We decided not to have publicly accessible create and delete calls for the wallet, and user management is not included in the public API.

Functional front-end

There is a front-end that allows for the creation of rewards and tasks, the completion of tasks, and the purchasing of rewards. It also keeps the user's wallet up-to-date.

This is all done through the REST API and persists through the database. Ember Data is used to make the API calls. jQuery Validate is used to validate user input and show useful validation errors.

Not much styling has been done on the front end. However, basic bootstrap grid structures are used where appropriate, and styling is ready to begin.