nextmeal.io is a meal-planning site written with a React.js frontend, and an AWS Serverless Application Model backend. The site is deployed at nextmeal.io.
Its current features are:
- Groceries inventory management.
- Tracking custom macronutrient goals.
- Recipe planning and search using the Sponnacular's API.
- Prediction of recipe healthiness using a Keras Neural Network and the OpenFoodFacts API.
The complete stack used to develop the project is:
Backend: Node.js running on AWS Lambda + API Gateway
Database: DynamoDB
Frontend: React.js and Bootstrap
Web Deployment: Nginx + Let's Encrypt running on EC2
Machine Learning: Python and Keras
The full list of API endpoints for the backend is available in SAM-backend/ENDPOINTS.md
To build and deploy the project, you need to have:
- An AWS account.
- The AWS CLI installed and configured.
- The SAM CLI installed.
- npm and pip installed.
- Clone the repository.
cd nextmeal.io/SAM-backend
- Run
sam build && sam deploy
. - Inside your AWS management console, go to the API Gateway page and ensure you have an API group named
sam-app
. - Copy the value of the
ID
field for sam-app. cd ../frontend
- Create a
.env
file innextmeal.io/frontend
with the variableAPI_ENDPOINT=<sam-app ID>
. - Run
npm install
. - Run
npm start
.