Empowering individuals through community and mentorship
A focused mentoring and community platform, centered around the BGr8 initiative and powered by a unique MentorAlgorithm with advanced availability management and intelligent search capabilities.
π Quick Start β’ π Documentation β’ π€ Contributing β’ π License
π Quick Navigation
π’ Platform Unit | π Description | π Status |
---|---|---|
π BGr8 | Community, events, and mentoring | β Live |
bgr8 Platform is dedicated to empowering individuals through the BGr8 community and a robust mentoring program. Our platform focuses exclusively on creating meaningful connections and fostering growth through:
- π€ Community Building - Connect with like-minded individuals
- π Mentorship Programs - Advanced algorithm-based matching with real-time availability
- π Personal Growth - Structured learning and development
- π Diverse Network - Inclusive and supportive environment
- π Smart Discovery - Intelligent search and filtering system
- π Flexible Scheduling - Integrated availability management for mentors
π Click to explore our amazing features!
Feature | Description | Status |
---|---|---|
π BGr8 Community Hub | Centralized community platform | β Live |
π€ Mentor Matching | Advanced MentorAlgorithm system with real-time availability | β Live |
π Smart Search System | Intelligent search with dropdown suggestions and filtering | β Live |
π Cal.com Booking System | Third-party calendar integration | β Live |
π Availability Management | Direct mentor availability creation and management | β Live |
π Secure Authentication | Firebase-powered security | β Live |
Responsive Design | Mobile-first approach | β Live |
π Analytics Dashboard | Comprehensive insights | β Live |
π¬ Admin Management | Complete control panel | β Live |
Technology | Purpose | Status |
---|---|---|
π Firebase Auth | User authentication | β Live |
π₯ Firestore DB | Real-time database | β Live |
π Cal.com Integration | Advanced booking system | β Live |
π Proxy Server | CORS-free API access | β Live |
β‘ Real-time Updates | Live data synchronization | β Live |
π§βπ» React + TypeScript | Modern frontend stack | β Live |
π¨ CSS Variables | Consistent design system with mentor branding | β Live |
Feature | Description | Status |
---|---|---|
π Enhanced Search | Dropdown suggestions, smart filtering, and improved UI | β Live |
π Filter Tabs | Relevant mentorship categories with count bubbles | β Live |
π€ Profile Modals | Clickable mentor cards with full profile display | β Live |
π Availability Integration | Real-time availability pulling from Cal.com and bookings | β Live |
π οΈ Data Generation | Comprehensive testing tools for profiles, availability, and bookings | β Live |
ποΈ Smart Cleanup | Cascading deletes and bulk data management | β Live |
π¨ Mentor Styling | Coral-like color scheme integration for mentor elements | β Live |
graph TD
A[π¨ Frontend] --> B[βοΈ React + TypeScript]
A --> C[β‘ Vite]
A --> D[π¨ CSS Variables & Mentor Styling]
E[π§ Backend Services] --> F[π₯ Firebase]
F --> G[π Authentication]
F --> H[ποΈ Firestore]
F --> I[π¦ Storage]
J[π Analytics] --> K[π Google Analytics]
L[π
Booking System] --> M[π Cal.com API]
L --> N[π
Availability Management]
L --> O[π Proxy Server]
L --> P[π Event Types]
L --> Q[π Bookings Management]
R[π οΈ Admin Tools] --> S[π₯ Profile Generation]
R --> T[π
Availability Generation]
R --> U[ποΈ Data Cleanup]
style A fill:#61DAFB
style E fill:#FFCA28
style F fill:#FF6B35
style L fill:#00E676
style R fill:#FF9800
Our platform leverages cutting-edge technologies for optimal performance and user experience, with enhanced mentor functionality and intelligent data management.
Get up and running in under 5 minutes! π
Requires local instance of Cal.com server running in the background.
See in Calcom-Server repo
git clone https://github.com/Hum2a/bgr8.git
cd bgr8
npm install
Get .env
file from Hum2a (see Environment Variables section for details)
For local development with Firebase emulators, see detailed setup instructions in firebase_emulator/README.md
npm run dev
Before you begin, ensure you have the following installed:
Requirement | Version | Download |
---|---|---|
π’ Node.js | v16.x or higher |
Download |
π¦ npm | v8.x or higher |
Included with Node.js |
π₯ Firebase Account | Any | Sign Up |
π Detailed Installation Guide
# Clone the repository
git clone https://github.com/Hum2a/bgr8.git
# Navigate to project directory
cd bgr8
# Install all dependencies
npm install
β οΈ Important: You will need your own Firebase account. Get the correct.env
file from Hum2a to place in the root directory.
# Start the main application
npm run dev
π Congratulations! Your development environment is now ready.
π Deployment Instructions
# Create optimized production build
npm run build
# Preview production build locally
npm run preview
Platform | Instructions | Status |
---|---|---|
π Vercel | Connect GitHub repo | β Supported |
βοΈ Netlify | Drag & drop build folder | β Supported |
π₯ Firebase Hosting | firebase deploy |
β Supported |
π³ Docker | Use provided Dockerfile | π Coming Soon |
Required environment variables for full functionality
π View all environment variables
Variable | Description | Required | Example |
---|---|---|---|
VITE_FIREBASE_API_KEY |
Firebase API Key | β | AIzaSyC... |
VITE_FIREBASE_AUTH_DOMAIN |
Firebase Auth Domain | β | project.firebaseapp.com |
VITE_FIREBASE_PROJECT_ID |
Firebase Project ID | β | your-project-id |
VITE_FIREBASE_STORAGE_BUCKET |
Firebase Storage Bucket | β | project.appspot.com |
VITE_FIREBASE_MESSAGING_SENDER_ID |
Firebase Messaging Sender ID | β | 123456789 |
VITE_FIREBASE_APP_ID |
Firebase App ID | β | 1:123456789:web:abc123 |
VITE_FIREBASE_MEASUREMENT_ID |
Firebase Measurement ID | β | G-XXXXXXXXXX |
VITE_USE_EMULATORS |
Enable Firebase emulators for development | true or false |
release.sh
- A cross-platform bash script for managing semantic versioned release tags
- β Git installed and configured
- β
Remote repository set up (
origin
) - β Bash shell (works on Linux/macOS/Git Bash for Windows)
Set-Alias -Name bash -Value "<absolute_path_to_git_installation>\bin\bash.exe"
# Example: C:\Program Files\Git\bin\bash.exe
# Linux/MacOS
./release.sh [OPTIONS]
# Windows
bash release.sh [OPTIONS]
Flag | Description | Example |
---|---|---|
--major |
Increment major version | v2.0.0 |
--minor |
Increment minor version | v1.1.0 |
--patch |
Increment patch version | v1.0.1 (default) |
--name NAME |
Append custom name | --name beta β v1.0.0-beta |
--set-tag TAG |
Set specific tag | --set-tag v1.2.3 |
--current |
Show current release tag | Displays current version |
--force |
Force tag creation | Override existing tags |
--help |
Show help message | Display usage information |
- π Always syncs with remote tags first
- β Validates tag format (vX.Y.Z or vX.Y.Z-NAME)
- π« Prevents duplicate tags
Comprehensive testing suite for quality assurance
π§ͺ Testing Commands
# Run unit tests
npm run test
# Run end-to-end tests
npm run test:e2e
# Run tests in CI environment
npm run test:ci
# Run tests with coverage
npm run test:coverage
Type | Coverage Target | Current Status |
---|---|---|
π§ͺ Unit Tests | 80%+ | π In Progress |
π Integration Tests | 70%+ | π In Progress |
π― E2E Tests | 60%+ | π In Progress |
Tool | Purpose | Status |
---|---|---|
π² Profile Generator | Generate realistic test mentor profiles | β Live |
π Availability Generator | Create test availability data | β Live |
π Booking Generator | Generate sample booking data | β Live |
ποΈ Data Cleanup | Bulk deletion and cleanup tools | β Live |
π View complete project structure
bgr8/
βββ π src/
β βββ π§© components/ # React components
β β βββ π¨βπΌ admin/ # Admin-specific components
β β β βββ π Analytics components
β β β βββ π² GenerateRandomProfile.tsx
β β β βββ π₯ MentorManagement.tsx
β β β βββ π Management components
β β βββ π¬ animations/ # Animation components
β β βββ π¨ ui/ # UI components
β β βββ π§ widgets/ # Widget components
β β βββ π MentorAlgorithm/ # Mentor matching logic
β β βββ π
availability/ # Availability management
β β βββ π
booking/ # Booking system
β β βββ π CalCom/ # Cal.com integration
β βββ π pages/ # Page components
β β βββ π¨βπΌ adminPages/ # Admin pages
β β βββ οΏ½ authPages/ # Authentication pages
β β βββ οΏ½πΌ businessPages/ # Business pages
β β βββ π οΈ utilPages/ # Utility pages
β βββ π¨ styles/ # CSS stylesheets
β β βββ οΏ½βπΌ adminStyles/ # Admin-specific styles
β β βββ πΌ businessStyles/ # Business-specific styles
β β βββ π§© components/ # Component-specific styles
β β βββ οΏ½ payment/ # Payment-related styles
β βββ πͺ hooks/ # Custom React hooks
β βββ π contexts/ # React context providers
β βββ π οΈ utils/ # Utility functions
β βββ π types/ # TypeScript type definitions
β βββ π₯ firebase/ # Firebase configuration
β βββ π‘οΈ middleware/ # Security middleware
β βββ π§ navigation/ # Navigation logic
β βββ π constants/ # Application constants
β βββ π§ config/ # Configuration files
β βββ π¨ assets/ # Static assets (images, etc.)
βββ π public/ # Public static assets
βββ π₯ firebase_emulator/ # Firebase emulator configuration
β βββ π README.md # Emulator setup instructions
β βββ π download_cloud_data.sh # Data export script
β βββ βοΈ firebase.json # Firebase configuration
β βββ π§ .firebaserc # Firebase project configuration
β βββ π‘οΈ firestore.rules # Firestore security rules
β βββ π storage.rules # Storage security rules
β βββ π data/ # Exported data storage
βββ π docs/ # Documentation files
βββ π .env # Environment variables
βββ π¦ package.json # Dependencies and scripts
βββ βοΈ vite.config.ts # Vite configuration
βββ π tsconfig.json # TypeScript configuration
βββ π¨ eslint.config.js # ESLint configuration
βββ π·οΈ release.sh # Release tag manager script
βββ π README.md # This file
We welcome contributions from the community! π
π Contributing Guidelines
- π΄ Fork the repository
- πΏ Create a feature branch (
git checkout -b feature/amazing-feature
) - πΎ Commit your changes (
git commit -m 'Add amazing feature'
) - π€ Push to the branch (
git push origin feature/amazing-feature
) - π Open a Pull Request
- β Follow TypeScript best practices
- π¨ Maintain consistent code style using CSS variables
- π Write meaningful commit messages
- π§ͺ Add tests for new features
- π Update documentation as needed
- π Ensure proper contrast for UI elements
- π± Test responsive design across devices
We are committed to providing a welcoming and inspiring community for all. Please read our Code of Conduct for details.
This project is licensed under the MIT License - see the LICENSE file for details.
Security is our top priority
π‘οΈ Security Information
If you discover a security vulnerability, please:
- π Do NOT create a public GitHub issue
- π§ Email us directly at security@bgr8.com
- β° Wait for our response (we aim to respond within 24 hours)
- π Firebase Authentication - Secure user management
- π‘οΈ Input Validation - Comprehensive data sanitization
- π HTTPS Only - Encrypted data transmission
- π« XSS Protection - Cross-site scripting prevention
- π‘οΈ CSRF Protection - Cross-site request forgery prevention
- ποΈ Cascading Deletes - Maintains database integrity
Get in touch with our team
Contact Method | Details |
---|---|
π¨βπ» Developer | Humza (Hum2a) |
π Issues | GitHub Issues |
π§ Email | Contact Us |
π¬ Discord | Join our community |
Special thanks to all contributors and the amazing BGr8 community! π
Hum2a Humza Butt |
YakMan101 Shayak Hussain |
aoladuti1 Antonio Oladuti |
- βοΈ React - UI framework
- π₯ Firebase - Backend services
- Cal.com - Calendar & booking system
- β‘ Vite - Build tool
- π¨ CSS3 - Styling with CSS variables
- π Search Algorithms - Intelligent filtering and discovery
- π Data Management - Comprehensive testing and cleanup tools
Made with β€οΈ by the BGr8 Team