Code Monkey home page Code Monkey logo

healthguard's Introduction

healthTracker

We designed this simple health application to help you track your personal health, fitness, and nutrition goals. Once you've created your account, you can easily log your weight, water consumption, nutrition goals and fitness activities. You're on your way to a healthier you!

Usage

Create an account, and then login to get started!

Prerequisites

To run this app on your local machine, make sure you have MongoDB and Node.js installed.

Installing

First, clone this repository to your local machine, and then install the dependencies using:

npm install

In a separate terminal start Mongo:

mongod

Then start the server:

npm start

And go to the browser to view the application!

Built With

License

This project is licensed under the MIT License - see the LICENSE.md file for details

healthguard's People

Contributors

jessyclain avatar

Watchers

 avatar

healthguard's Issues

Nutrition Data Not Syncing

Nutrition data entered by users is not syncing across devices, causing discrepancies in the data.
Steps to Reproduce:

  1. Enter nutrition data on one device.
  2. Check if the data is synced to other devices with the same account.
  3. Verify that the data is not synced.

Calories Burned Calculation Incorrect

The app is calculating calories burned inaccurately, leading to incorrect data in the user's profile.
Steps to Reproduce:

  1. Perform a workout session with known calorie burn.
  2. Check the 'Calories Burned' section of the app.
  3. Verify that the calculated calories burned do not match the expected value.

Add DNS resolve check

It would be useful to have a small library of commonly used health checks. In the scope of this issue, a DNS resolver check should be implemented (e.g. using LookupHost method if net.Resolver). Optimally, the implementation should support timeouts from the context.Context value that is being passed to every health check function.

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

Add Kafka Consumer check

It would be useful to have a library of commonly used health checks. In the scope of this issue, a health check should be implemented that checks if a Kafka consumer is alive. Strategies on how to do this can be discussed here prior to implementation.

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

Add TCP Dial check

It would be useful to have a small library of commonly used health checks. In the scope of this issue, a TCP check should be implemented (e.g. calling net.DialTimeout("tcp", addr, timeout) and return it's result). Optimally, the implementation should respect the context.Context value that is being passed to each health check function (e.g., by using the Deadline from the context to pass it as a parameter to net.DialTimeout (or pass the entire context if there is a way to do that).

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

Add Dark Mode Support

Implement a dark mode theme option to provide users with a more comfortable viewing experience, especially in low-light environments.
Suggestions:

  • Add a toggle switch in the app settings to enable/disable dark mode.
  • Adjust color schemes and contrast for optimal readability in dark mode.

Add Mongo DB check

It would be useful to have a library of commonly used health checks. In the scope of this issue, a health check should be implemented that checks if Mongo DB is alive (e.g. by pinging Mongo DB and see if the ping result is successful).

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

Exercise Log Not Updating

Users report that their exercise log is not updating with their latest workout sessions.
Steps to Reproduce:

  1. Go to the 'Exercise Log' page.
  2. Select the option to add a new workout session.
  3. Fill in the details of the workout session.
  4. Click on the 'Save' button.
  5. Check if the newly added workout session appears in the exercise log.

Add Memcached check

It would be useful to have a library of commonly used health checks. In the scope of this issue, a health check should be implemented that checks if Memcached is alive (e.g. by pinging Memcached and see if the ping result is successful).

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

ADD HTTP check

It would be useful to have a small library of commonly used health checks. In the scope of this issue, an HTTP check should be implemented (e.g. calling an http.Client HTTP method and return it's result). Optimally, the implementation should respect the context.Context value that is being passed to each health check function (e.g., by using the Deadline from the context to pass it as a paramter of http.Client (or pass the entire context if there is a way to do that).

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

Add SMTP server health check

It would be useful to have a library of commonly used health checks. In the scope of this issue, a health check should be implemented that checks if a mail server (SMTP) is alive and can be used to send emails, e.g. by using Golangs https://pkg.go.dev/net/smtp package.

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

Add garbage collection max pause check

It would be useful to have a small library of commonly used health checks. In the scope of this issue, a garbage collection max pause check should be implemented (e.g. calling runtime.ReadMemStats and see if the PauseNs returns a value that is above a certain threshold.

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

Add panic recovery mechanism

When a user created health check function panics, this health check library currently does not provide a means to recover from it automatically and continue. Instead, the application terminates. This behaviour is most likely is not wanted. Therefore, this library should provide a way to recover from panics right after the check function call (e.g.: here). The user should

  • be able to able to opt out of this by configuration (e.g. by disabling it with a configuration option) and
  • instead of panicking, the library should instead return an error.

Add goroutine count check

It would be useful to have a small library of commonly used health checks. In the scope of this issue, a goroutine count check should be implemented (e.g. calling an count := runtime.NumGoroutine() and se if it is above a throeshold.

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

Add Kafka producer check

It would be useful to have a library of commonly used health checks. In the scope of this issue, a health check should be implemented that checks if a Kafka procuder is alive. Strategies on how to do this can be discussed here prior to implementation.

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

Duplicate call to checker Start()?

Add Elasticsearch check

It would be useful to have a library of commonly used health checks. In the scope of this issue, a health check should be implemented that checks if Elasticsearch is alive (e.g. calling an sql.PingContext first and e.g. execute a query, such as 'SELECT 1 ' afterwards to see if MySQL is ready for query execution.

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

Integrate with Wearable Devices

Enhance the app's functionality by integrating with popular wearable devices such as fitness trackers and smartwatches.
Suggestions:

  • Enable automatic syncing of activity data from wearable devices to the app.
  • Provide real-time notifications and insights based on wearable device data.

UI Improvements for Better Accessibility

Enhance the app's user interface to improve accessibility for users with disabilities.
Suggestions:

  • Add proper labels and descriptions for form fields.
  • Ensure sufficient color contrast for text and background elements.
  • Implement keyboard navigation support for all interactive elements.

Add disk space check

It would be useful to have a library of commonly used health checks. In the scope of this issue, a health check should be implemented that checks the hosts disk space is above a preconfigured threshold (e.g. bny using syscall.Statfs and using the total and free disk blocks to see if the threshold constraints are met)

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

Implement Data Backup and Restore

Add support for backing up user data to the cloud and restoring it across multiple devices.
Suggestions:

  • Integrate with a cloud storage service (e.g., Google Drive, Dropbox) for data backup.
  • Allow users to restore their data on new devices by signing in with their account.

Localized Language Support

Enable support for multiple languages to make the app accessible to users from different regions.
Suggestions:

  • Provide language selection options in the app settings.
  • Collaborate with translators to localize app content and user interface elements.

Add GRPC check

It would be useful to have a library of commonly used health checks. In the scope of this issue, a health check should be implemented that checks if a GRPC endpoint is reachable, e.g. by using a HealthClient instance from google.golang.org/grpc/health/grpc_health_v1 to retrieve its status and see if it is "serving" (I.e. HealthCheckResponse_SERVING).

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

Add Redis check

It would be useful to have a library of commonly used health checks. In the scope of this issue, a health check should be implemented that checks if Redis is alive (e.g. by pinging Redis and see if the ping result is successful).

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

Add Postgres check

It would be useful to have a library of commonly used health checks. In the scope of this issue, a health check should be implemented that checks if Postgres is alive (e.g. calling an sql.PingContext first and do a 'SELECT VERSION()' afterwards to see if Postgres is ready for query execution.

A few constraints to keep things clean and simple:

  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Streak Counter Incorrect

The streak counter for tracking consecutive days of healthy habits is displaying incorrect values.
Steps to Reproduce:

  1. Perform a healthy habit activity for multiple consecutive days.
  2. Check the streak counter.
  3. Verify that the displayed streak count is incorrect.

Sleep Tracking Data Missing

Users are experiencing missing data in the sleep tracking section of the app.
Steps to Reproduce:

  1. Navigate to the 'Sleep Tracker' page.
  2. Check for recorded sleep sessions.
  3. Verify that some sleep sessions are missing from the log.

Water Intake Reminder Not Working

Users are not receiving reminders to drink water throughout the day as configured in the settings.
Steps to Reproduce:

  1. Go to the 'Settings' page.
  2. Set up water intake reminders.
  3. Wait for the specified reminder time.
  4. Verify that no reminder is received.

Weight Tracking Not Saving Data

When users try to input their weight data, it does not get saved to the database.
Steps to Reproduce:

  1. Navigate to the 'Weight Tracker' section of the app.
  2. Enter a weight value.
  3. Click on the 'Save' button.
  4. Verify that the weight data is not saved.

Add MySQL check

It would be useful to have a library of commonly used health checks. In the scope of this issue, a health check should be implemented that checks if MySQL is alive (e.g. calling an sql.PingContext first and e.g. execute a query, such as 'SELECT 1 ' afterwards to see if MySQL is ready for query execution.

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

Add IMAP server health check

It would be useful to have a library of commonly used health checks. In the scope of this issue, a health check should be implemented that checks if a mail server (IMAP) is alive and can be used to receive/read emails, e.g. by using Golangs https://pkg.go.dev/net/smtp package.

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

Make health check results consumable by Prometheus

It should be possible to expose health checks as a prometheus gauge.

A few constraints to keep things clean and simple:

  • The check should be added to the checks module that you can find in the development branch.
  • As with all health check functions of this library, the check implementation should support accepting and forwarding context.Context that is being passed to each health check function.
  • If the health check requires external external modules or other dependencies, the check should be implemented as a separate Go module(similarly how it is done for the tests, that require dependencies to other packages as well). This is required to avoid that when people import the base library, they also need to import all dependencies of all provided checks.
  • The check should have a README.md in its root directory that describes how to use it and maybe what to look out for.
  • You should provide a test that checks at least the happy path. If a docker container is required to properly test the check, the docker container can be added to the docker-compose.yaml file in the checks base package.

Should you have questions or require help, please join our discord chat room.

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.