Skip to content

Final project for Asynchronous Server-Side Course. Team-developed RESTful API for tracking daily calorie intake using JavaScript, ExpressJS, and MongoDB.

Notifications You must be signed in to change notification settings

MaorBezalel/calories-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Calories Manager RESTful Web Service

Final Project in Asynchronous Server Side Course

🧐 Introduction

A Backend RESTful API for tracking daily calorie intake. Created as a final project for the course "Asynchronous Server Side" at Holon Institute of Technology (HIT). The API allows a pre-defined user to track their daily calorie intake, by providing the ability to add calorie consumption and retrieve a report, organized by meal time (breakfast, lunch, dinner, and other), of the total calorie intake for a specific month and year.

⛏️ Built Using

Property Badges
📋 Languages & Tools JavaScript pug CSS
🚀 Runtime Environment Node.js NPM
🔧 Utility Libraries Nodemon Dotenv UUID
📡 Backend Express Express-Validator
🗄️ Database MongoDB Mongoose
🧪 Testing Mocha Chai Thunder
☁️ Hosting Render

🏁 Getting Started

  1. Clone the repository
git clone https://github.com/MaorBezalel/calories-manager.git
  1. Install the required packages
npm install
  1. Create a .env file in the root directory and add the following environment variables:
MONGODB_URI=<Your MongoDB URI>
MONGODB_DB_NAME=<Your MongoDB Database Name>
MONGO_TEST_DB_NAME=<Your MongoDB Test Database Name>
  1. Run the server
npm run start:dev

💡 Useful Resources

  • Thunder Client - A REST API client extension for Visual Studio Code. Similar to Postman and very easy to use.
  • nodemon - A utility that will monitor for any changes in your source and automatically restart your server. Perfect for development.
  • apiDoc - A tool for creating documentation from API annotations in the source code.
  • FREEPIK - A website for free vector images, illustrations, icons, and photos.
  • Render - A cloud platform that makes it easy for developers to build, deploy, and scale web services for free.

🙏 Acknowledgements

  • FREEPIK - For the free vector image used as the preview image in this README file.