Skip to content

BUDEGlobalEnterprise/bude-global-tech-presentations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

153 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Bude Global Tech Presentations ๐Ÿš€

Bude Global Banner

A Dynamic, Interactive Platform for Technical Knowledge Sharing

๐Ÿ’š Join our WhatsApp Community ๐Ÿ’š

License: GPL v3 PRs Welcome GitHub Stars

View Demo โ€ข Report Bug โ€ข Request Feature

Scan the QR to support the project ๐Ÿ‘‡

Sponsors

Become a sponsor and get your logo on our README on GitHub with a link to your site.

๐ŸŒŸ Overview

Welcome to the official repository for Bude Global Tech Presentations โ€” a cutting-edge platform designed to democratize technical knowledge through engaging, interactive presentations. Built by developers, for developers, this platform serves as a centralized hub where the Bude Global community can discover, share, and learn from expertly crafted technical content.

Important: By using this service, you agree to our Terms and Conditions and Privacy Policy.

๐ŸŽฏ Mission

Our mission is to foster a culture of continuous learning and knowledge sharing by providing an accessible, modern platform for technical presentations that covers everything from programming languages and frameworks to DevOps tools and best practices.


๐Ÿ“ Table of Contents


โœจ Features

๐ŸŽจ Core Functionality

  • ๐Ÿ” Smart Discovery System: Automatically scans and validates presentation JSON files with built-in format checking
  • โšก Real-Time Search: Instantly filter presentations by title, description, or keywords with autocomplete suggestions
  • ๐Ÿ“ฑ Fully Responsive: Seamless experience across desktops, tablets, and mobile devices with adaptive layouts
  • ๐ŸŽญ Beautiful UI/UX: Modern gradient designs, smooth animations, and intuitive navigation
  • โŒจ๏ธ Keyboard Navigation: Full keyboard support for power users (arrow keys, shortcuts, and more)
  • ๐Ÿ“Š Format Validation: Only displays presentations that pass strict JSON schema validation
  • ๐ŸŽฏ Modular Architecture: Clean separation of concerns with easy-to-maintain codebase

๐ŸŽ“ Presentation Features

  • ๐Ÿ“– Multi-Topic Support: Organize content into logical sections and topics
  • ๐Ÿ’ป Code Syntax Highlighting: Beautiful code blocks with proper formatting
  • ๐ŸŽจ Rich Content Types: Support for text, code, lists, images, emojis, and custom styling
  • ๐Ÿ“ Speaker Notes: Built-in support for presenter notes (Reveal.js feature)
  • ๐Ÿ”„ Smooth Transitions: Professional slide transitions and animations
  • ๐Ÿ“ Scrollable Content: Handles long slides with smooth scrolling

๐Ÿ”ง Developer Experience

  • ๐Ÿ“ฆ JSON-Based: Simple JSON format for easy content creation
  • ๐ŸŽจ Customizable Themes: Easy to customize colors, fonts, and styles
  • ๐Ÿ”Œ Extensible: Built on Reveal.js with support for plugins
  • ๐Ÿ“‹ Template System: Pre-built templates for quick presentation creation
  • ๐Ÿš€ No Build Process: Pure HTML/CSS/JS โ€” no compilation required

๐ŸŽฌ Demo & Screenshots

๐Ÿ  Home Page - Presentation Selector

Home Page Smart search and autocomplete for quick presentation discovery

๐Ÿ‘ค Author/Presenter Page

Author Page Professional presenter introduction with social links

๐Ÿ“Š React Presentation Example

React Presentation Clean, modern slide design with code examples


๐Ÿ› ๏ธ Technologies Used

This project leverages modern web technologies for optimal performance and developer experience:

Technology Purpose Version
HTML5 Structure and semantic markup Latest
CSS3 Styling, animations, and responsive design Latest
JavaScript (ES6+) Dynamic behavior and presentation logic ES2020+
Reveal.js Presentation framework 4.6.0
Remixicon Icon system 4.3.0
Google Fonts Custom typography (Molot) -

Why These Technologies?

  • โœ… No dependencies: Zero npm packages, runs directly in browser
  • โœ… Fast loading: Minimal external resources with CDN optimization
  • โœ… Easy deployment: Static files โ€” host anywhere
  • โœ… Cross-browser: Compatible with all modern browsers

โšก Performance Optimizations

This project includes several performance optimizations:

Optimization Benefit
Preconnect hints Faster CDN resource loading
DNS prefetch Early DNS resolution
Deferred scripts Non-blocking page render
SRI hashes Secure CDN resources
Lazy animations Animations start after page load
Adaptive quality Auto-adjusts for mobile devices

๐Ÿงฉ Modular Architecture

The codebase is organized into modular files in src/ for easier maintenance:

src/
โ”œโ”€โ”€ js/
โ”‚   โ”œโ”€โ”€ config.js           # Global configuration
โ”‚   โ”œโ”€โ”€ main.js             # Entry point
โ”‚   โ”œโ”€โ”€ animations/         # 8 animation modes
โ”‚   โ”œโ”€โ”€ ui/                 # UI components
โ”‚   โ””โ”€โ”€ utils/              # Utility functions
โ””โ”€โ”€ css/
    โ”œโ”€โ”€ base/               # Variables, reset
    โ”œโ”€โ”€ components/         # Header, cards, footer, etc.
    โ””โ”€โ”€ utilities/          # Responsive styles

๐Ÿ—๏ธ Project Structure

bude-global-tech-presentations/
โ”‚
โ”œโ”€โ”€ ๐Ÿ“ assets/                          # Static assets
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ fonts/                       # Custom fonts (Molot)
โ”‚   โ”‚   โ””โ”€โ”€ Molot.otf
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ icons/                       # Custom icons
โ”‚   โ””โ”€โ”€ ๐Ÿ“ images/                      # Images and logos
โ”‚       โ”œโ”€โ”€ budeglobal_logo.png
โ”‚       โ””โ”€โ”€ ๐Ÿ“ Readme/                  # README screenshots
โ”‚           โ”œโ”€โ”€ home.png
โ”‚           โ”œโ”€โ”€ author.png
โ”‚           โ””โ”€โ”€ intro-react.png
โ”‚
โ”œโ”€โ”€ ๐Ÿ“ presentations/                   # Presentation JSON files
โ”‚   โ”œโ”€โ”€ intro-oss.json                  # Open Source Software
โ”‚   โ”œโ”€โ”€ intro-python.json               # Python Programming
โ”‚   โ”œโ”€โ”€ intro-csharp.json               # C# Programming
โ”‚   โ””โ”€โ”€ ... (40+ presentations)
โ”‚
โ”œโ”€โ”€ ๐Ÿ“ src/                             # Modular source code (for bundlers)
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ js/                          # JavaScript modules
โ”‚   โ”‚   โ”œโ”€โ”€ config.js                   # Animation configuration
โ”‚   โ”‚   โ”œโ”€โ”€ main.js                     # Entry point
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ animations/              # 8 animation modes
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ ui/                      # UI components
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“ utils/                   # Utility functions
โ”‚   โ””โ”€โ”€ ๐Ÿ“ css/                         # CSS modules
โ”‚       โ”œโ”€โ”€ ๐Ÿ“ base/                    # Variables, reset
โ”‚       โ”œโ”€โ”€ ๐Ÿ“ components/              # Header, cards, footer
โ”‚       โ””โ”€โ”€ ๐Ÿ“ utilities/               # Responsive styles
โ”‚
โ”œโ”€โ”€ ๐Ÿ“ templates/                       # Template files
โ”‚   โ””โ”€โ”€ sample-presentation.json        # Template for new presentations
โ”‚
โ”œโ”€โ”€ ๐Ÿ“„ index.html                       # Main entry point
โ”œโ”€โ”€ ๐Ÿ“„ presentations.js                 # Presentation configuration
โ”œโ”€โ”€ ๐Ÿ“„ presenter.js                     # Animation & slide rendering
โ”œโ”€โ”€ ๐Ÿ“„ loader.js                        # Dynamic loading logic
โ”œโ”€โ”€ ๐Ÿ“„ style.css                        # Custom styles
โ”œโ”€โ”€ ๐Ÿ“„ github-live.js                   # GitHub API integration
โ”œโ”€โ”€ ๐Ÿ“„ theme-switcher.js                # Dark/Light theme toggle
โ”œโ”€โ”€ ๐Ÿ“„ orientation-handler.js           # Mobile orientation handler
โ”œโ”€โ”€ ๐Ÿ“„ README.md                        # This file
โ”œโ”€โ”€ ๐Ÿ“„ CONTRIBUTING.md                  # Contribution guidelines
โ””โ”€โ”€ ๐Ÿ“„ LICENSE                          # GNU GENERAL PUBLIC LICENSE


๐Ÿš€ Quick Start

Get up and running in under 2 minutes!

Prerequisites

  • A modern web browser (Chrome, Firefox, Edge, Safari)
  • Basic knowledge of JSON (for creating presentations)
  • Git installed (optional, for cloning)

Installation

Option 1: Clone the Repository

# Clone the repository
git clone https://github.com/BUDEGlobalEnterprise/bude-global-tech-presentations.git

# Navigate to the project directory
cd bude-global-tech-presentations

# Open in browser
open index.html
# Or on Windows: start index.html
# Or on Linux: xdg-open index.html

Option 2: Download ZIP

  1. Download the latest release
  2. Extract the ZIP file
  3. Open index.html in your browser

Option 3: GitHub Pages (Live Demo)

Simply visit: https://budeglobalenterprise.github.io/bude-global-tech-presentations


๐Ÿ‘€ How to View Presentations

Browser Experience

  1. Open the Platform: Launch index.html in your browser
  2. Browse Presentations: View all available presentations in the selector modal
  3. Search: Type keywords to filter presentations instantly
  4. Select: Click on any presentation to begin viewing
  5. Navigate: Use arrow keys or on-screen controls to move between slides
  6. Return Home: Press H to return to the presentation selector

Navigation Controls

Action Keyboard Mouse/Touch
Next Slide โ†’ or โ†“ or Space Click right arrow
Previous Slide โ† or โ†‘ Click left arrow
Scroll Slide โ†“ / โ†‘ (if content overflows) Mouse wheel
First Slide Home -
Last Slide End -
Slide Overview Esc or O -
Fullscreen F -
Return to Selector H -

โž• How to Add a New Presentation

Adding a new presentation is straightforward and takes just 3 steps!

Step 1: Create Your JSON File

Create a new .json file in the presentations/ directory:

touch presentations/my-awesome-tech-talk.json

Use the template structure (see Presentation JSON Schema) or copy from templates/sample-presentation.json.

Step 2: Update Configuration

Open index.html and locate the PRESENTATIONS_CONFIG array. Add your presentation:

const PRESENTATIONS_CONFIG = [
    // ... existing presentations ...
    {
        file: 'presentations/my-awesome-tech-talk.json',
        title: 'My Awesome Tech Talk',
        description: 'A comprehensive guide to an amazing technology',
        keywords: ['awesome', 'tech', 'innovation', 'tutorial']
    }
];

Step 3: Test & Commit

# Test locally
open index.html

# Commit your changes
git add presentations/my-awesome-tech-talk.json index.html
git commit -m "Add: My Awesome Tech Talk presentation"
git push origin main

That's it! Your presentation is now live and searchable! ๐ŸŽ‰


๐Ÿ“‹ Presentation JSON Schema

Basic Structure

{
  "presentation": {
    "topics": [
      {
        "id": "unique-topic-id",
        "title": "Topic Title",
        "slides": [
          {
            "type": "title|presenter|topic-title|content|qa|thank-you",
            "title": "Slide Title",
            "emoji": "๐Ÿš€",
            "box": {
              "title": "Box Title",
              "content": "Box content with <strong>HTML</strong>",
              "code": "const example = 'code block';",
              "list": [
                { "emoji": "โœ…", "text": "List item with emoji" },
                { "emoji": "โŒ", "text": "Another item" }
              ]
            },
            "list": [
              { "emoji": "๐Ÿ“Œ", "text": "Top-level list item" }
            ],
            "note": {
              "text": "Additional note or tip"
            }
          }
        ]
      }
    ]
  }
}

Slide Types

1. Title Slide

{
  "type": "title",
  "title": "Presentation Title",
  "subtitle": "Subtitle or tagline"
}

2. Presenter Slide

{
  "type": "presenter",
  "name": "Your Name",
  "title": "Your Title",
  "experience": "Years of experience",
  "oss_experience": "OSS contribution details",
  "github": "https://github.com/username",
  "website": "https://yoursite.com"
}

3. Topic Title Slide

{
  "type": "topic-title",
  "title": "Section Title",
  "box": {
    "content": "Section introduction"
  }
}

4. Content Slide

{
  "type": "content",
  "emoji": "๐Ÿ’ก",
  "title": "Slide Title",
  "box": {
    "title": "Optional box title",
    "content": "Main content",
    "code": "// Code example\nfunction hello() {\n  console.log('Hello');\n}",
    "list": [
      { "emoji": "โœ…", "text": "Feature one" },
      { "emoji": "โœ…", "text": "Feature two" }
    ]
  },
  "list": [
    { "emoji": "๐Ÿ“Œ", "text": "Additional point" }
  ],
  "note": {
    "text": "Pro tip or note"
  }
}

5. Q&A Slide

{
  "type": "qa",
  "title": "Questions? ๐Ÿ’ฌ",
  "content": "Your questions are welcome!"
}

6. Thank You Slide

{
  "type": "thank-you",
  "title": "Thank You! ๐ŸŽ‰",
  "box": {
    "content": "Closing message",
    "note": "Final thoughts"
  },
  "footer": {
    "org": "Organization Name",
    "tagline": "Your tagline"
  }
}

HTML Support

You can use HTML tags in content:

  • <strong>bold</strong>
  • <em>italic</em>
  • <code>inline code</code>
  • <br> for line breaks
  • Custom classes: <span class="highlight">text</span>

โŒจ๏ธ Keyboard Shortcuts

Presentation Navigation

Key Action
โ†’ โ†“ Space PgDn Next slide
โ† โ†‘ PgUp Previous slide
Home First slide
End Last slide
Esc O Slide overview mode
F Fullscreen mode
S Speaker notes (if available)
B . Blackout/pause
H Return to presentation selector

Slide Scrolling (Long Content)

Key Action
โ†“ Scroll down (if slide has overflow)
โ†‘ Scroll up (if slide has overflow)

Animation Controls

Key Animation Mode
1 Floating Shapes
2 Gradient Blobs
3 Neon Waves
4 Animated Grid
5 Particle Field
6 Pulse Rings
7 Parallax Layers
8 Cosmic Dust

๐Ÿค Contributing

We warmly welcome contributions from developers of all skill levels! Whether you're fixing typos, adding presentations, or building new features, your contribution matters.

Ways to Contribute

  1. ๐Ÿ“š Add Presentations: Share your knowledge on any tech topic
  2. ๐Ÿ› Report Bugs: Found an issue? Open an issue
  3. ๐Ÿ’ก Suggest Features: Have ideas? We'd love to hear them
  4. ๐Ÿ“– Improve Documentation: Help make our docs clearer
  5. ๐ŸŽจ Design Enhancements: Improve UI/UX
  6. ๐Ÿ”ง Code Improvements: Refactor, optimize, or add features

Contribution Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Test thoroughly
  5. Commit with clear messages (git commit -m 'Add: Amazing feature')
  6. Push to your fork (git push origin feature/amazing-feature)
  7. Open a Pull Request

Commit Message Convention

Type: Brief description

Types:
- Add: New feature or presentation
- Fix: Bug fix
- Update: Update existing content
- Docs: Documentation changes
- Style: Code style changes (formatting)
- Refactor: Code refactoring
- Test: Adding tests
- Chore: Maintenance tasks

Example: Add: Introduction to Kubernetes presentation

For detailed guidelines, see CONTRIBUTING.md.


๐Ÿ“š Available Presentations

Programming Languages

  • ๐Ÿ Introduction to Python - From basics to advanced topics
  • ๐ŸŽฏ C# Programming - Modern C# with .NET
  • โš›๏ธ React.js - Building modern web apps

Frameworks & Libraries

  • ๐Ÿ“ฑ .NET MAUI - Cross-platform app development
  • ๐ŸŽจ Tailwind CSS - Utility-first CSS framework
  • ๐Ÿ…ฑ๏ธ Bootstrap - Responsive web design
  • ๐Ÿ”ง Frappe Framework - Full-stack Python framework
  • ๐Ÿ“Š ERPNext - Open-source ERP system

DevOps & Tools

  • ๐Ÿง Linux Fundamentals - Command line mastery
  • ๐Ÿ”€ Git & GitHub - Version control essentials
  • ๐Ÿ  Gitea - Self-hosted Git service
  • ๐Ÿณ Docker - Containerization basics

Security & Identity

  • ๐Ÿ” Keycloak - Identity and access management

Analytics & BI

  • ๐Ÿ“ˆ Metabase - Business intelligence tool

Open Source

  • ๐ŸŒ Introduction to OSS - Open source fundamentals

More presentations are added regularly by our community!


๐Ÿ”ง Customization

Branding

Update colors in index.html CSS variables:

:root {
    --bude-primary: #0060a0;      /* Primary brand color */
    --bude-purple: #6f42c1;       /* Secondary color */
    --bude-pink: #cb6ce6;         /* Accent color */
    --bude-dark: #2c3e50;         /* Dark text */
}

Fonts

Replace the Molot font in assets/fonts/ and update the @font-face rule:

@font-face {
    font-family: 'YourFont';
    src: url('assets/fonts/YourFont.otf') format('opentype');
}

Logo

Replace assets/images/budeglobal_logo.png with your logo (recommended size: 400x400px).

Footer Links

Update social links in the <footer> section of index.html.


โ“ FAQ

Q: Can I use this for my own presentations?

A: Absolutely! This project is open-source under GNU GENERAL PUBLIC LICENSE. Feel free to fork and customize.

Q: Do I need a server to host this?

A: No! It's a static site. You can host on GitHub Pages, Netlify, Vercel, or any static hosting service.

Q: Can I export presentations to PDF?

A: Yes! Use your browser's print function (Ctrl+P) and select "Save as PDF". Reveal.js handles print styling automatically.

Q: How do I add speaker notes?

A: Reveal.js supports speaker notes. Press S during presentation to open speaker view.

Q: Can I embed videos or interactive elements?

A: Yes! You can use HTML in your JSON content, including <iframe>, <video>, and interactive elements.

Q: Is there a limit to slide count?

A: No technical limit, but we recommend keeping presentations under 100 slides for optimal performance.

Q: Can I use this offline?

A: Mostly yes, but external resources (CDN fonts, icons) require internet. You can download and self-host these for full offline support.


ยฉ๏ธ License

This project is licensed under the GNU GENERAL PUBLIC LICENSE - see the LICENSE file for details.

What This Means

โœ… You can:

  • Use commercially
  • Modify and distribute
  • Use privately
  • Sublicense

โŒ You cannot:

  • Hold us liable
  • Use our trademarks without permission

๐Ÿ“ You must:

  • Include the original license
  • Include copyright notice

๐Ÿ“œ Terms and Conditions

By accessing and using this service, you agree to be bound by our Terms and Conditions.

๐Ÿ™ Acknowledgments

Special thanks to:

  • OSSPhilippines/oss-101 - For inspiration and attribution
  • Reveal.js - Hakim El Hattab for the amazing presentation framework
  • Remixicon - For the beautiful icon system
  • Bude Global Community - For contributing presentations and feedback
  • All Contributors - Thank you for making this project better!

๐Ÿ“ง Contact

Bude Global Enterprise

Support


โญ Star this repository if you find it helpful!

Made with โค๏ธ by Bude Global Enterprise

Empowering developers through open collaboration

โฌ† Back to Top

About

๐ŸŒŸWelcome to the official repository for Bude Global Tech Presentations โ€” a cutting-edge platform designed to democratize technical knowledge through engaging, interactive presentations. Built by developers, for developers, this platform serves as a centralized hub where the Bude Global community can discover, share, and learn from expertly crafted

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors