Serverless application that demonstrate how to use AWS AppSync and Amazon Neptune to build a realtime, data driven application.
Clone or download
pputhran Merge pull request #5 from aws-samples/develop
Updated Develop branch to be merged into master
Latest commit 3a5a319 Nov 28, 2018

README.md

Building Serverless Calorie tracker application with AWS AppSync and Amazon Neptune

Overview

In this workshop, you will build a serverless Calorie tracker application that will allow users to setup a daily calorie target goal, allows them to add, update and track the calories consumed or burned daily, and receive food suggestions based on their food habits.

Some of the features that you would be building in your app today are:

  • User sign-up, login and logout.
  • Set personal information like calorie target per day, height, weight etc.
  • Track activities through out the day, like:
    • add calories (breakfast, lunch, dinner, snacks) and
    • burn calories (workout, walk, run)
  • View food suggestions based on the activities and personal information (BMI).

Architecture diagram:

Architecture

Services used:

  • AWS AppSync
  • AWS Lambda
  • Amazon DynamoDB
  • Amazon Cognito
  • Amazon Neptune

Requirements

This workshop requires:

  • An active AWS Account with administrative permissions.
  • A Cloud9 environment is recommended, but, if you are using your own laptop, you should have npm and git installed.
  • Knowledge of Javascript/ NodeJS will be an added advantage.
  • Knowledge of Amazon DynamoDB, AWS Lambda, Amazon Cognito and AWS CloudFormation will be an added advantage.

Steps:

  1. Deploying Amazon Neptune Cluster
  2. Setting up AWS Cloud 9 Development Environment
  3. AWS AppSync - GraphQL
  4. Setting up frontend - VueJS application
  5. Testing the application
  6. Configuring the App to provide the Food suggestions
  7. Closing and Clean up

License:

This sample code is made available under a modified MIT license. See the LICENSE file.