Skip to content
/ Bgr8 Public

Bgr8 Platform is dedicated to empowering individuals through the BGr8 community and a robust mentoring program. The platform now focuses exclusively on:

License

Notifications You must be signed in to change notification settings

Hum2a/Bgr8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌟 bgr8 Platform

Empowering individuals through community and mentorship

License: MIT Version TypeScript React Vite Firebase PRs Welcome

Linting CodeQL


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


πŸ“‹ Table of Contents

πŸ“– Quick Navigation

🎯 Overview

🏒 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

✨ Features

🌟 Click to explore our amazing features!

🎯 Core 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

⚑ Technical Features

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

πŸ†• Recent Enhancements

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

πŸ› οΈ Tech Stack

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
Loading

Our platform leverages cutting-edge technologies for optimal performance and user experience, with enhanced mentor functionality and intelligent data management.


⚑ Quick Start

Get up and running in under 5 minutes! πŸš€

Requires local instance of Cal.com server running in the background.
See in Calcom-Server repo

1️⃣ Clone the repository

git clone https://github.com/Hum2a/bgr8.git
cd bgr8

2️⃣ Install dependencies

npm install

3️⃣ Set up environment

Get .env file from Hum2a (see Environment Variables section for details)

4️⃣ (Optional) Start Firebase emulators for development

For local development with Firebase emulators, see detailed setup instructions in firebase_emulator/README.md

5️⃣ Start development server

npm run dev

πŸ“‹ Prerequisites

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

πŸš€ Installation

πŸ“‹ Detailed Installation Guide

Step 1: Repository Setup

# Clone the repository
git clone https://github.com/Hum2a/bgr8.git

# Navigate to project directory
cd bgr8

Step 2: Dependencies Installation

# Install all dependencies
npm install

Step 3: Environment Configuration

⚠️ Important: You will need your own Firebase account. Get the correct .env file from Hum2a to place in the root directory.

Step 4: Launch Development Server

# Start the main application
npm run dev

πŸŽ‰ Congratulations! Your development environment is now ready.


🌐 Deployment

πŸš€ Deployment Instructions

Production Build

# Create optimized production build
npm run build

# Preview production build locally
npm run preview

Deployment Options

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

πŸ”§ Environment Variables

Required environment variables for full functionality

πŸ” View all environment variables

Frontend Variables (.env)

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 Tag Manager

release.sh - A cross-platform bash script for managing semantic versioned release tags

Prerequisites

  • βœ… Git installed and configured
  • βœ… Remote repository set up (origin)
  • βœ… Bash shell (works on Linux/macOS/Git Bash for Windows)

Windows PowerShell Alias Setup

Set-Alias -Name bash -Value "<absolute_path_to_git_installation>\bin\bash.exe"
# Example: C:\Program Files\Git\bin\bash.exe

Usage

# Linux/MacOS
./release.sh [OPTIONS]

# Windows
bash release.sh [OPTIONS]

Available 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

Behavior

  1. πŸ”„ Always syncs with remote tags first
  2. βœ… Validates tag format (vX.Y.Z or vX.Y.Z-NAME)
  3. 🚫 Prevents duplicate tags

πŸ§ͺ Testing

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

Test Coverage Goals

Type Coverage Target Current Status
πŸ§ͺ Unit Tests 80%+ πŸ”„ In Progress
πŸ”„ Integration Tests 70%+ πŸ”„ In Progress
🎯 E2E Tests 60%+ πŸ”„ In Progress

πŸ†• Testing Tools

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

πŸ“ Project Structure

πŸ“‚ 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

🀝 Contributing

We welcome contributions from the community! 🌟

πŸ“‹ Contributing Guidelines

How to Contribute

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch (git checkout -b feature/amazing-feature)
  3. πŸ’Ύ Commit your changes (git commit -m 'Add amazing feature')
  4. πŸ“€ Push to the branch (git push origin feature/amazing-feature)
  5. πŸ”„ Open a Pull Request

Development Guidelines

  • βœ… 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

Code of Conduct

We are committed to providing a welcoming and inspiring community for all. Please read our Code of Conduct for details.


πŸ“„ License

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

License: MIT


πŸ”’ Security

Security is our top priority

πŸ›‘οΈ Security Information

Reporting Security Issues

If you discover a security vulnerability, please:

  1. πŸ”’ Do NOT create a public GitHub issue
  2. πŸ“§ Email us directly at security@bgr8.com
  3. ⏰ Wait for our response (we aim to respond within 24 hours)

Security Features

  • πŸ” 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

πŸ“ž Contact

Get in touch with our team

Contact Method Details
πŸ‘¨β€πŸ’» Developer Humza (Hum2a)
πŸ› Issues GitHub Issues
πŸ“§ Email Contact Us
πŸ’¬ Discord Join our community

πŸ™ Acknowledgments

Special thanks to all contributors and the amazing BGr8 community! 🌟

Contributors

Hum2a
Hum2a

Humza Butt
YakMan101
YakMan101
Shayak Hussain
aoladuti1
aoladuti1

Antonio Oladuti

Technologies & Libraries

  • βš›οΈ 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

⬆️ Back to top

About

Bgr8 Platform is dedicated to empowering individuals through the BGr8 community and a robust mentoring program. The platform now focuses exclusively on:

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •