Skip to content
/ B8 Public

B8 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/B8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

B8 Platform

License Version TypeScript React Vite Stripe PRs Welcome

B8 Platform is a focused mentoring and community platform, centered around the BGr8 initiative and powered by a unique MentorAlgorithm.

πŸ“– Table of Contents

🎯 Overview

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

Unit Description Status
🌟 BGr8 Community, events, and mentoring Live

πŸš€ Features

Click to expand feature list

Core Features

  • 🌟 BGr8 community hub
  • 🀝 Mentor matching and management (MentorAlgorithm)
  • πŸ”’ Secure authentication
  • πŸ’³ Secure payment processing with Stripe
  • πŸ“± Responsive design
  • πŸ“Š Analytics integration
  • πŸ’¬ Enquiries and admin management

Technical Features

  • πŸ”‘ Firebase authentication
  • πŸ”₯ Firestore database
  • πŸ’Έ Stripe payments
  • ⚑ Real-time updates
  • πŸ§‘β€πŸ’» Modern React + TypeScript stack

πŸ› οΈ Tech Stack

Our platform is built with modern technologies:

graph TD
    A[Frontend] --> B[React + TypeScript]
    A --> C[Vite]
    D[Backend Services] --> E[Firebase]
    E --> F[Authentication]
    E --> G[Firestore]
    E --> H[Storage]
    I[Analytics] --> J[Google Analytics]
    K[Payments] --> L[Stripe]
    L --> M[Stripe Checkout]
    L --> N[Stripe Webhooks]
Loading

πŸ“‹ Prerequisites

Before you begin, ensure you have:

  • Node.js (v16.x or higher)
  • npm (v8.x or higher)
  • Firebase account and project
  • Stripe account with API keys
  • Stripe CLI (for webhook testing)

πŸ› οΈ Installation

Step-by-step installation guide
  1. Clone the repository:

    git clone https://github.com/Hum2a/B8.git
    cd B8
  2. Install dependencies:

    npm install
  3. Set up environment variables: You will need your own firebase account. Get the correct .env file from Hum2a to place in the root directory.

  4. Set up Stripe server environment: Place the stripe .env file provided by Hum2a into the stripe directory, or create it as follows:

    STRIPE_SECRET_KEY=your_stripe_secret_key
    STRIPE_WEBHOOK_SECRET=your_stripe_webhook_secret
    PORT=3001
    CLIENT_URL=http://localhost:5173
  5. Start the development servers:

    # Start the main application
    npm run dev
    
    # Start the Stripe server (in a separate terminal)
    cd stripe && node server.js

πŸš€ Deployment

Deployment instructions

Production Build

npm run build

Preview Production Build

npm run preview

πŸ“ Environment Variables

Required environment variables:

View all environment variables
Variable Description Required
VITE_FIREBASE_API_KEY Firebase API Key βœ…
VITE_FIREBASE_AUTH_DOMAIN Firebase Auth Domain βœ…
VITE_FIREBASE_PROJECT_ID Firebase Project ID βœ…
VITE_FIREBASE_STORAGE_BUCKET Firebase Storage Bucket βœ…
VITE_FIREBASE_MESSAGING_SENDER_ID Firebase Messaging Sender ID βœ…
VITE_FIREBASE_APP_ID Firebase App ID βœ…
VITE_FIREBASE_MEASUREMENT_ID Firebase Measurement ID βœ…
VITE_STRIPE_PUBLISHABLE_KEY Stripe Publishable Key βœ…
VITE_STRIPE_SERVER_URL Stripe Server URL βœ…
STRIPE_SECRET_KEY Stripe Secret Key (server) βœ…
STRIPE_WEBHOOK_SECRET Stripe Webhook Secret (server) βœ…

πŸ§ͺ Testing

# Run unit tests
npm run test

# Run end-to-end tests
npm run test:e2e

# Run tests in CI environment
npm run test:ci

πŸ“¦ Project Structure

View project structure
B8/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/         # React components
β”‚   β”œβ”€β”€ pages/              # Page components
β”‚   β”œβ”€β”€ hooks/              # Custom React hooks
β”‚   β”œβ”€β”€ contexts/           # React context providers
β”‚   β”œβ”€β”€ services/           # API and service integrations
β”‚   β”œβ”€β”€ utils/              # Utility functions
β”‚   β”œβ”€β”€ types/              # TypeScript type definitions
β”‚   └── MentorAlgorithm/    # Mentor matching logic
β”œβ”€β”€ stripe/                 # Stripe server
β”œβ”€β”€ public/                 # Static assets
β”œβ”€β”€ ...

🀝 Contributing

See CONTRIBUTING.md for guidelines.

πŸ“ License

This project is licensed under the MIT License.

πŸ”’ Security

See SECURITY.md for security policy and reporting.

πŸ“¬ Contact

For questions, contact Humza (Hum2a) or open an issue.

πŸ™ Acknowledgments

Thanks to all contributors and the BGr8 community!

About

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

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •