GirlMate is a supportive and inclusive platform designed to empower users with menstrual health tracking, wellness insights, and community support. Built with inclusivity in mind, GirlMate caters to adolescent girls, women in their 40s and 50s, as well as transgender and non-binary individuals. The app offers personalized health recommendations, symptom tracking, expert guidance, and a community space where users can connect, share, and support each other.
- 📅 Easily track the start and end of your menstrual cycle.
- 💬 Log symptoms like cramps, fatigue, and mood changes to receive tailored health insights.
- 🔮 Predict your next period based on previous cycle data.
- 🤝 Join support groups and connect with users who share similar experiences.
- 💌 Find advice, support, and encouragement from a judgment-free community.
- 🩺 Access resources and guidance from health experts on menstrual health and wellness.
- 📝 Receive personalized recommendations based on your symptoms and health data.
- 🎨 Personalize your experience by choosing or creating an avatar that represents you.
- 🧑🤝🧑 Avatars are designed with inclusivity in mind, embracing various gender identities.
- 🌟 Earn recognition for actively participating in community support and helping others.
- 🏅 Receive badges and acknowledgment for contributions, fostering a sense of community.
- 📚 Access a library of health information, articles, and resources tailored to menstrual and general health.
- 🧘♀️ Browse content on topics like menstrual health, mental wellness, self-care, and lifestyle tips.
- 💡 Get advice on menstrual health, lifestyle, and wellness based on tracked data.
- 🌱 Learn tips on managing symptoms like cramps, mood swings, and fatigue.
- ⭐ Unlock advanced features, including detailed health analytics and additional expert consultations with a premium subscription.
- Node.js
- npm or Yarn
- Google Cloud account with Dialogflow permissions (if integrating Dialogflow)
-
Clone the Repository:
git clone https://github.com/ChelseaSingla1/girlmate.git cd girlmate
-
Install Backend Dependencies:
cd backend npm install
-
Install Frontend Dependencies:
cd ../frontend npm install
-
Setup Environment Variables:
-
In the
backend
directory, create a.env
file with the following:GOOGLE_APPLICATION_CREDENTIALS=config/your-dialogflow-key.json GEMINI_ENDPOINT=https://us-central1-aiplatform.googleapis.com/v1/models/YOUR_MODEL_ID:predict PORT=5000
-
-
Start the Development Server:
# Run both frontend and backend servers npm run dev
- Frontend: Go to
http://localhost:3000
to view the app in your browser. - Backend: The backend server should run on
http://localhost:5000
.
- Dialogflow Integration: If enabled, interact with a virtual assistant that provides menstrual health support and personalized recommendations.
- Rule-Based Chatbot: The app also includes a rule-based chatbot for common menstrual health queries.
- Frontend: React, TailwindCSS
- Backend: Node.js, Express
- Database: MongoDB
- Cloud Services: Google Dialogflow (optional), Google Cloud (for Dialogflow integration)
GirlMate fosters a supportive, judgment-free space where users of all gender identities can find information, support, and community around menstrual health. By addressing menstruation inclusively and promoting education, GirlMate empowers users with knowledge, awareness, and support, contributing to the global effort toward gender equality and dismantling menstruation stigma.
- Real-Time Communication: Leveraging Socket.io for real-time chat functionality.
- UI Design: Building responsive interfaces with Chakra UI.
- Global State Management: Using React Context API for efficient data handling.
- Chatbot Integration: Experimenting with Dialogflow and Gemini API for AI-driven interactions, expanding our understanding of Google AI tools.
- Real-Time Chat: Balancing user presence management with notifications using Socket.io.
- Data Structuring: Handling multiple user types (e.g., doctors and regular users) and their respective functionalities.
- User Experience: Designing a smooth avatar selection process that’s both performant and user-friendly.
- Chatbot Implementation: Integrating Dialogflow proved challenging, requiring permissions management and API configuration.
In the future, we aim to:
- Enhance Personalization: Provide AI-driven recommendations tailored to each user’s health data.
- Add Premium Features: Implement a premium subscription model for additional features and insights.
- Volunteer Recognition System: Expand with badges and rewards for active contributors.
- Health Resources: Develop a curated page with health articles and resources for continued learning.
Thank you for your interest in GirlMate! We are committed to supporting menstrual health and creating a welcoming community for all users.