Git Product home page Git Product logo

smart-diet-app's Introduction

This is a health & fitness app that tracks your diet and give you meal plans which best fit you.

Server

Backend API service

We use express, a famous Node.js web framework, as our backend server, hosted on an Azure virtual machine. The backend serves as a middle man between the database and a client. Express is a minimal and flexible web framework that uses middleware to extend it's functionality, hence gives us much space to customize the structure of the application. Usually a web app basically consists of three parts, view, router, and model. Because we only need a API server, we don't need view here. So all models are in "server/models" directory, handling interactions between server and the database. And routers in "server/routes", mapping a request from a client to an action in the server.

Food detection service

Apart from our web API server, we've decided to use another server to do food detection. The main reason is that the tools we used for machine learning are all written in python, and it's better to seperate the heavy computation process from normal database requests.

Database

We use Azure's CosmosDB to save our user data, to be specific, it's DocumentDB, a key-value document database but with SQL-like queries. We chose to use a key-value database because it's more flxible in data structures and don't have to worry about changing schemes in the demo stage. We have four types of document, which are user, userprofile, food, and record.

Storage

Apart from DocumentDB, we also use Storage to save a large block of data like images.

smart-diet-app's People

Contributors

erictheai avatar ethaninmel avatar hugomrchau avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

smart-diet-app's Issues

Any screenshots/videos or input-output examples? :)

Hello! I'm trying to get now trough several hundreds of meal/health-related repositories to find something interesting :) It's really hard (almost impossible with my resources) to try everything. May I ask you to make some screenshots or screen recordings? May be some input/output examples? Or whatever that might describe the final result :) I can see it has some stars, so, probably, it's something that the world should know about :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.