/aws-appsync-calorie-tracker-workshop

Serverless application that demonstrate how to use AWS AppSync and Amazon Neptune to build a realtime, data driven application.

Primary LanguageVueMIT No AttributionMIT-0

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 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 suggested food 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 and Amazon Cognito will be an added advantage.

Steps:

  1. Deploying Amazon Neptune Cluster
  2. Setting up AWS Cloud 9 Development Environment
  3. Loading dataset into Neptune Cluster
  4. AWS AppSync - GraphQL
  5. Setting up frontend - Vuejs application
  6. Testing the application
  7. Closing and Clean up

License:

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