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:
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:
- Deploying Amazon Neptune Cluster
- Setting up AWS Cloud 9 Development Environment
- AWS AppSync - GraphQL
- Setting up frontend - VueJS application
- Testing the application
- Configuring the App to provide the Food suggestions
- Closing and Clean up
License:
This sample code is made available under a modified MIT license. See the LICENSE file.