Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💧 Aqualert

Aqualert is a mobile app that helps users stay hydrated by tracking their water intake, setting daily goals, and sending reminders. It consists of a Node.js backend and a React Native frontend (Android).

Overview

People often forget to drink enough water daily, leading to dehydration and related health issues. Aqualert addresses this problem by:

  • Letting users set personalized hydration goals
  • Sending timely notifications to remind users to drink
  • Providing a clean interface for manual water intake logging
  • Offering visual insights into daily and weekly water consumption

Features

  • User Authentication (JWT)
  • Drink water reminder notifications
  • Set daily water intake goals
  • Track water intake history (daily & weekly)

Tech Stack

Backend (Node.js + Express)

  • MongoDB (via Mongoose)
  • JWT-based Authentication

Frontend (React Native for Android)

  • AsyncStorage for token storage
  • Notification API (e.g., Expo or PushNotification)

Setup Instructions

Backend (Node.js)

  1. Navigate to the backend folder:
cd backend
  1. Install dependencies:
npm install
  1. Create a .env file in the backend folder:
PORT=3000
MONGO_URI=your_mongodb_uri_here
JWT_SECRET=your_jwt_secret_here

To generate a secret key for JWT_SECRET, run:

node -e "console.log(require('crypto').randomBytes(64).toString('hex'))"
  1. Start the server:
npm run dev

The backend will be available at: http://localhost:3000/api

Frontend (React Native - Android)

  1. Navigate to the mobile folder:
cd mobile
  1. Install dependencies:
npm install
  1. Set up Android SDK path:

Edit android/local.properties:

sdk.dir=/Users/YOUR_USERNAME/Library/Android/sdk
  1. Configure API URL in constants/api.js:
// For deployed backend (Onrender):
export const API_URL = "https://aqualert.onrender.com/api";

// For local development on a physical device (replace with your IP address):
export const API_URL = "http://192.168.x.xx:3000/api";

// For emulator (if using localhost with forwarding):
export const API_URL = "http://localhost:3000/api";
  1. Run the app on Android:
npx expo

For more frontend setup details, see mobile/README.md.

Ensure your Android emulator or physical device is running and connected to the same network if testing against a local server.

Project Structure Expected:

.
├── README.md
├── backend
│   ├── .env                       
│   └── ...
├── mobile
│   ├── android
│   │   ├── local.properties       
│   │   └── ...
│   ├── constants
│   │   └── api.js                
│   └── ...
└── package-lock.json

App Preview

App screenshot 1

App screenshot 2

About

The application helping users develop a habit of drinking enough water daily. The app will send notifications at set intervals, allow users to track their daily water intake, and provide simple statistics. The application will be available for mobile devices.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages