OptiWeight is a mobile application designed to help users manage their weight effectively. It provides features like activity tracking, chatbot assistance, notifications, and user profile management to create a personalized experience.

- Interactive Chatbot: Offers health tips and guidance.
- Activity Calendar: Tracks daily schedules and activities.
- Notifications: Reminds users of important tasks or events.
- User Profiles: Stores user data for a personalized experience.
- Firebase Integration: Utilizes Firebase for authentication, hosting, and backend services.
- Frontend: React Native
- Backend: Node.js with Express
- Database: Firebase Firestore
- Hosting: Firebase Hosting
- Authentication: Firebase Authentication
- Languages: TypeScript
- Others: Docker for local deployment
git clone https://github.com/deiraaisyar/optiweight-app.git
cd optiweight-appFor both frontend and backend:
npm install- Frontend:
npm start
- Backend:
cd backend npm run dev
To generate an APK file:
cd android
./gradlew assembleDebugThe APK will be located at app-debug.apk.
To run the application on an Android emulator, follow these steps:
-
Start Metro Bundler: Open a terminal and run:
npx react-native start
-
Clean Android Build: Open another terminal, navigate to the android folder, and clean the build:
cd android ./gradlew clean cd ..
-
Run the Application on Emulator: In the same terminal, run:
npx react-native run-android
This will build and install the app on the connected emulator or device.
- Build the Docker Image:
docker build -t optiweight-backend . - Run the Docker Container:
docker run -p 5000:5000 optiweight-backend
optiweight/
├── android/ # Android configuration
├── backend/ # Backend API
│ ├── src/ # Backend source code
│ └── Dockerfile # Docker configuration for backend
├── frontend/ # React Native source code
├── .env # Environment variables
└── README.md # Project documentation
- Firebase Authentication is used for user login and registration.
- User data is securely stored in Firebase Firestore.
- Sensitive files like
serviceAccountKey.jsonare excluded from the repository.
- Chatbot: Provides health-related tips and guidance.
- Calendar: Tracks user activities and schedules.
- Notifications: Sends reminders for important events.
- Profile Management: Stores user data for a personalized experience.
We welcome contributions! Feel free to fork the repository, create a branch, and submit a Pull Request. You can also open an Issue for any bugs or feature requests.
This project is licensed under the MIT License.
Thank you to all contributors and users who have supported the development of OptiWeight. 🚀
We would like to thank the following contributors for their efforts in building OptiWeight:
- Farhan Adiwidya Pradana - Hustler
- Muhammad Keenan Basyir - Hipster
- Dhimas Putra Sulistio - Hacker (Frontend Developer)
- Deira Aisya Refani - Hacker (Backend Developer)
For more details, please visit: https://drive.google.com/file/d/1I4-tbuNxjuKj4eKtpqm0_I63nonUiMKP/view?usp=sharing