Latest commit

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

HopDrop

HopDrop is a modern, peer-to-peer logistics and package delivery platform designed to connect Senders of packages with Travellers who are heading in the same direction. By leveraging shared journeys, HopDrop ensures faster, cost-effective, and secure deliveries while providing a seamless user experience.

✨ Features

  • Role-Based Workflows: Separate dashboards and flows for Senders, Travellers, and Receivers.
  • Interactive UI: A stunning Glassmorphic interface with dynamic backgrounds including Space and Sunset Light Mode themes (powered by Three.js).
  • Secure Authentication: Integrated Firebase authentication supporting both Email/Password and Google OAuth 2.0.
  • Smart Addressing: Open Source Maps autocomplete integration for accurate pickup and drop-off coordination.
  • OTP Verification: Secure package handover and delivery confirmation using OTPs, ensuring only the right traveller and right receiver interact with the package.
  • Package Tracking: End-to-end tracking of the package delivery lifecycle.
  • Payment Split: Embedded payment workflows ensuring correct fee distribution (80% to the traveller, 20% platform fee).

🛠️ Technology Stack

Frontend

  • HTML/CSS/JavaScript: Core web technologies with Vanilla JavaScript.
  • Three.js: Used for immersive environment background animations.
  • Firebase Auth: User identity management.
  • Open Source Maps API: Address verification and autocomplete.

Backend

  • Python / FastAPI: Robust backend API handling user management, delivery logic, and payments.
  • Firebase Firestore: NoSQL database for real-time order and user state tracking.

🚀 Setup & Installation

Prerequisites

  • Python 3.8+
  • Node.js (Optional, if using a local server for the frontend)
  • Firebase Project setup with Authentication and Firestore enabled.

Backend Setup

  1. Navigate to the backend directory:
    cd backend
  2. Create and activate a virtual environment (recommended):
    python -m venv venv
    # On Windows:
    venv\Scripts\activate
    # On macOS/Linux:source venv/bin/activate
  3. Install the required dependencies:
    pip install -r requirements.txt
    (Note: ensure you have FastAPI, Uvicorn, Firebase Admin, etc. installed)
  4. Set up your Firebase service account credentials (contact the repo admin if you don't have this or configure your environment variables to point to your serviceAccountKey.json).
  5. Run the FastAPI development server:
    uvicorn app:app --reload

Frontend Setup

  1. The frontend consists of static HTML files in the frontend folder.
  2. Open the frontend folder:
    cd frontend
  3. You can serve the static files using a simple HTTP server. For example:
    python -m http.server 8000
    # OR using npx
    npx serve .
  4. Access the web app in your browser at http://localhost:8000.

📂 Project Structure

HF26-01/
├── backend/
│ ├── app.py # Main FastAPI application
│ ├── auth.py # Backend authentication endpoints
│ ├── database.py # Firestore database logic and connection
│ ├── delivery_system.py # Core business logic for matching and tracking deliveries
│ ├── ...
├── frontend/
│ ├── index.html # Landing page / Start flow
│ ├── sender.html # Dashboard for senders creating packages
│ ├── traveller.html # Dashboard for travellers offering routes
│ ├── receiver.html # Dashboard for package verification for receivers
│ ├── app.js # Global frontend logic
│ ├── auth.js # Frontend authentication handlers
│ ├── autocomplete.js # Open Source Maps address integration
│ ├── three-bg.js # 3D canvas backgrounds
│ ├── styles.css # Glassmorphic and responsive styling
│ ├── ...
└── README.md

🤝 Contributing

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-foo)
  3. Make your changes and commit them (git commit -m 'Add feature-foo')
  4. Push your branch (git push origin feature-foo)
  5. Open a Pull Request

📄 License

This project is proprietary and built for logistics management. All rights reserved.

About

Hackfest26 repository for T01

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

HopDrop

HopDrop is a modern, peer-to-peer logistics and package delivery platform designed to connect Senders of packages with Travellers who are heading in the same direction. By leveraging shared journeys, HopDrop ensures faster, cost-effective, and secure deliveries while providing a seamless user experience.

✨ Features

  • Role-Based Workflows: Separate dashboards and flows for Senders, Travellers, and Receivers.
  • Interactive UI: A stunning Glassmorphic interface with dynamic backgrounds including Space and Sunset Light Mode themes (powered by Three.js).
  • Secure Authentication: Integrated Firebase authentication supporting both Email/Password and Google OAuth 2.0.
  • Smart Addressing: Open Source Maps autocomplete integration for accurate pickup and drop-off coordination.
  • OTP Verification: Secure package handover and delivery confirmation using OTPs, ensuring only the right traveller and right receiver interact with the package.
  • Package Tracking: End-to-end tracking of the package delivery lifecycle.
  • Payment Split: Embedded payment workflows ensuring correct fee distribution (80% to the traveller, 20% platform fee).

🛠️ Technology Stack

Frontend

  • HTML/CSS/JavaScript: Core web technologies with Vanilla JavaScript.
  • Three.js: Used for immersive environment background animations.
  • Firebase Auth: User identity management.
  • Open Source Maps API: Address verification and autocomplete.

Backend

  • Python / FastAPI: Robust backend API handling user management, delivery logic, and payments.
  • Firebase Firestore: NoSQL database for real-time order and user state tracking.

🚀 Setup & Installation

Prerequisites

  • Python 3.8+
  • Node.js (Optional, if using a local server for the frontend)
  • Firebase Project setup with Authentication and Firestore enabled.

Backend Setup

  1. Navigate to the backend directory:
    cd backend
  2. Create and activate a virtual environment (recommended):
    python -m venv venv
    # On Windows:
    venv\Scripts\activate
    # On macOS/Linux:source venv/bin/activate
  3. Install the required dependencies:
    pip install -r requirements.txt
    (Note: ensure you have FastAPI, Uvicorn, Firebase Admin, etc. installed)
  4. Set up your Firebase service account credentials (contact the repo admin if you don't have this or configure your environment variables to point to your serviceAccountKey.json).
  5. Run the FastAPI development server:
    uvicorn app:app --reload

Frontend Setup

  1. The frontend consists of static HTML files in the frontend folder.
  2. Open the frontend folder:
    cd frontend
  3. You can serve the static files using a simple HTTP server. For example:
    python -m http.server 8000
    # OR using npx
    npx serve .
  4. Access the web app in your browser at http://localhost:8000.

📂 Project Structure

HF26-01/
├── backend/
│ ├── app.py # Main FastAPI application
│ ├── auth.py # Backend authentication endpoints
│ ├── database.py # Firestore database logic and connection
│ ├── delivery_system.py # Core business logic for matching and tracking deliveries
│ ├── ...
├── frontend/
│ ├── index.html # Landing page / Start flow
│ ├── sender.html # Dashboard for senders creating packages
│ ├── traveller.html # Dashboard for travellers offering routes
│ ├── receiver.html # Dashboard for package verification for receivers
│ ├── app.js # Global frontend logic
│ ├── auth.js # Frontend authentication handlers
│ ├── autocomplete.js # Open Source Maps address integration
│ ├── three-bg.js # 3D canvas backgrounds
│ ├── styles.css # Glassmorphic and responsive styling
│ ├── ...
└── README.md

🤝 Contributing

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-foo)
  3. Make your changes and commit them (git commit -m 'Add feature-foo')
  4. Push your branch (git push origin feature-foo)
  5. Open a Pull Request

📄 License

This project is proprietary and built for logistics management. All rights reserved.

About

Hackfest26 repository for T01

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

HopDrop

HopDrop is a modern, peer-to-peer logistics and package delivery platform designed to connect Senders of packages with Travellers who are heading in the same direction. By leveraging shared journeys, HopDrop ensures faster, cost-effective, and secure deliveries while providing a seamless user experience.

✨ Features

  • Role-Based Workflows: Separate dashboards and flows for Senders, Travellers, and Receivers.
  • Interactive UI: A stunning Glassmorphic interface with dynamic backgrounds including Space and Sunset Light Mode themes (powered by Three.js).
  • Secure Authentication: Integrated Firebase authentication supporting both Email/Password and Google OAuth 2.0.
  • Smart Addressing: Open Source Maps autocomplete integration for accurate pickup and drop-off coordination.
  • OTP Verification: Secure package handover and delivery confirmation using OTPs, ensuring only the right traveller and right receiver interact with the package.
  • Package Tracking: End-to-end tracking of the package delivery lifecycle.
  • Payment Split: Embedded payment workflows ensuring correct fee distribution (80% to the traveller, 20% platform fee).

🛠️ Technology Stack

Frontend

  • HTML/CSS/JavaScript: Core web technologies with Vanilla JavaScript.
  • Three.js: Used for immersive environment background animations.
  • Firebase Auth: User identity management.
  • Open Source Maps API: Address verification and autocomplete.

Backend

  • Python / FastAPI: Robust backend API handling user management, delivery logic, and payments.
  • Firebase Firestore: NoSQL database for real-time order and user state tracking.

🚀 Setup & Installation

Prerequisites

  • Python 3.8+
  • Node.js (Optional, if using a local server for the frontend)
  • Firebase Project setup with Authentication and Firestore enabled.

Backend Setup

  1. Navigate to the backend directory:
    cd backend
  2. Create and activate a virtual environment (recommended):
    python -m venv venv
    # On Windows:
    venv\Scripts\activate
    # On macOS/Linux:source venv/bin/activate
  3. Install the required dependencies:
    pip install -r requirements.txt
    (Note: ensure you have FastAPI, Uvicorn, Firebase Admin, etc. installed)
  4. Set up your Firebase service account credentials (contact the repo admin if you don't have this or configure your environment variables to point to your serviceAccountKey.json).
  5. Run the FastAPI development server:
    uvicorn app:app --reload

Frontend Setup

  1. The frontend consists of static HTML files in the frontend folder.
  2. Open the frontend folder:
    cd frontend
  3. You can serve the static files using a simple HTTP server. For example:
    python -m http.server 8000
    # OR using npx
    npx serve .
  4. Access the web app in your browser at http://localhost:8000.

📂 Project Structure

HF26-01/
├── backend/
│ ├── app.py # Main FastAPI application
│ ├── auth.py # Backend authentication endpoints
│ ├── database.py # Firestore database logic and connection
│ ├── delivery_system.py # Core business logic for matching and tracking deliveries
│ ├── ...
├── frontend/
│ ├── index.html # Landing page / Start flow
│ ├── sender.html # Dashboard for senders creating packages
│ ├── traveller.html # Dashboard for travellers offering routes
│ ├── receiver.html # Dashboard for package verification for receivers
│ ├── app.js # Global frontend logic
│ ├── auth.js # Frontend authentication handlers
│ ├── autocomplete.js # Open Source Maps address integration
│ ├── three-bg.js # 3D canvas backgrounds
│ ├── styles.css # Glassmorphic and responsive styling
│ ├── ...
└── README.md

🤝 Contributing

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-foo)
  3. Make your changes and commit them (git commit -m 'Add feature-foo')
  4. Push your branch (git push origin feature-foo)
  5. Open a Pull Request

📄 License

This project is proprietary and built for logistics management. All rights reserved.

About

Hackfest26 repository for T01

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

HopDrop

HopDrop is a modern, peer-to-peer logistics and package delivery platform designed to connect Senders of packages with Travellers who are heading in the same direction. By leveraging shared journeys, HopDrop ensures faster, cost-effective, and secure deliveries while providing a seamless user experience.

✨ Features

  • Role-Based Workflows: Separate dashboards and flows for Senders, Travellers, and Receivers.
  • Interactive UI: A stunning Glassmorphic interface with dynamic backgrounds including Space and Sunset Light Mode themes (powered by Three.js).
  • Secure Authentication: Integrated Firebase authentication supporting both Email/Password and Google OAuth 2.0.
  • Smart Addressing: Open Source Maps autocomplete integration for accurate pickup and drop-off coordination.
  • OTP Verification: Secure package handover and delivery confirmation using OTPs, ensuring only the right traveller and right receiver interact with the package.
  • Package Tracking: End-to-end tracking of the package delivery lifecycle.
  • Payment Split: Embedded payment workflows ensuring correct fee distribution (80% to the traveller, 20% platform fee).

🛠️ Technology Stack

Frontend

  • HTML/CSS/JavaScript: Core web technologies with Vanilla JavaScript.
  • Three.js: Used for immersive environment background animations.
  • Firebase Auth: User identity management.
  • Open Source Maps API: Address verification and autocomplete.

Backend

  • Python / FastAPI: Robust backend API handling user management, delivery logic, and payments.
  • Firebase Firestore: NoSQL database for real-time order and user state tracking.

🚀 Setup & Installation

Prerequisites

  • Python 3.8+
  • Node.js (Optional, if using a local server for the frontend)
  • Firebase Project setup with Authentication and Firestore enabled.

Backend Setup

  1. Navigate to the backend directory:
    cd backend
  2. Create and activate a virtual environment (recommended):
    python -m venv venv
    # On Windows:
    venv\Scripts\activate
    # On macOS/Linux:source venv/bin/activate
  3. Install the required dependencies:
    pip install -r requirements.txt
    (Note: ensure you have FastAPI, Uvicorn, Firebase Admin, etc. installed)
  4. Set up your Firebase service account credentials (contact the repo admin if you don't have this or configure your environment variables to point to your serviceAccountKey.json).
  5. Run the FastAPI development server:
    uvicorn app:app --reload

Frontend Setup

  1. The frontend consists of static HTML files in the frontend folder.
  2. Open the frontend folder:
    cd frontend
  3. You can serve the static files using a simple HTTP server. For example:
    python -m http.server 8000
    # OR using npx
    npx serve .
  4. Access the web app in your browser at http://localhost:8000.

📂 Project Structure

HF26-01/
├── backend/
│ ├── app.py # Main FastAPI application
│ ├── auth.py # Backend authentication endpoints
│ ├── database.py # Firestore database logic and connection
│ ├── delivery_system.py # Core business logic for matching and tracking deliveries
│ ├── ...
├── frontend/
│ ├── index.html # Landing page / Start flow
│ ├── sender.html # Dashboard for senders creating packages
│ ├── traveller.html # Dashboard for travellers offering routes
│ ├── receiver.html # Dashboard for package verification for receivers
│ ├── app.js # Global frontend logic
│ ├── auth.js # Frontend authentication handlers
│ ├── autocomplete.js # Open Source Maps address integration
│ ├── three-bg.js # 3D canvas backgrounds
│ ├── styles.css # Glassmorphic and responsive styling
│ ├── ...
└── README.md

🤝 Contributing

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-foo)
  3. Make your changes and commit them (git commit -m 'Add feature-foo')
  4. Push your branch (git push origin feature-foo)
  5. Open a Pull Request

📄 License

This project is proprietary and built for logistics management. All rights reserved.

About

Hackfest26 repository for T01

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

HopDrop

HopDrop is a modern, peer-to-peer logistics and package delivery platform designed to connect Senders of packages with Travellers who are heading in the same direction. By leveraging shared journeys, HopDrop ensures faster, cost-effective, and secure deliveries while providing a seamless user experience.

✨ Features

  • Role-Based Workflows: Separate dashboards and flows for Senders, Travellers, and Receivers.
  • Interactive UI: A stunning Glassmorphic interface with dynamic backgrounds including Space and Sunset Light Mode themes (powered by Three.js).
  • Secure Authentication: Integrated Firebase authentication supporting both Email/Password and Google OAuth 2.0.
  • Smart Addressing: Open Source Maps autocomplete integration for accurate pickup and drop-off coordination.
  • OTP Verification: Secure package handover and delivery confirmation using OTPs, ensuring only the right traveller and right receiver interact with the package.
  • Package Tracking: End-to-end tracking of the package delivery lifecycle.
  • Payment Split: Embedded payment workflows ensuring correct fee distribution (80% to the traveller, 20% platform fee).

🛠️ Technology Stack

Frontend

  • HTML/CSS/JavaScript: Core web technologies with Vanilla JavaScript.
  • Three.js: Used for immersive environment background animations.
  • Firebase Auth: User identity management.
  • Open Source Maps API: Address verification and autocomplete.

Backend

  • Python / FastAPI: Robust backend API handling user management, delivery logic, and payments.
  • Firebase Firestore: NoSQL database for real-time order and user state tracking.

🚀 Setup & Installation

Prerequisites

  • Python 3.8+
  • Node.js (Optional, if using a local server for the frontend)
  • Firebase Project setup with Authentication and Firestore enabled.

Backend Setup

  1. Navigate to the backend directory:
    cd backend
  2. Create and activate a virtual environment (recommended):
    python -m venv venv
    # On Windows:
    venv\Scripts\activate
    # On macOS/Linux:source venv/bin/activate
  3. Install the required dependencies:
    pip install -r requirements.txt
    (Note: ensure you have FastAPI, Uvicorn, Firebase Admin, etc. installed)
  4. Set up your Firebase service account credentials (contact the repo admin if you don't have this or configure your environment variables to point to your serviceAccountKey.json).
  5. Run the FastAPI development server:
    uvicorn app:app --reload

Frontend Setup

  1. The frontend consists of static HTML files in the frontend folder.
  2. Open the frontend folder:
    cd frontend
  3. You can serve the static files using a simple HTTP server. For example:
    python -m http.server 8000
    # OR using npx
    npx serve .
  4. Access the web app in your browser at http://localhost:8000.

📂 Project Structure

HF26-01/
├── backend/
│ ├── app.py # Main FastAPI application
│ ├── auth.py # Backend authentication endpoints
│ ├── database.py # Firestore database logic and connection
│ ├── delivery_system.py # Core business logic for matching and tracking deliveries
│ ├── ...
├── frontend/
│ ├── index.html # Landing page / Start flow
│ ├── sender.html # Dashboard for senders creating packages
│ ├── traveller.html # Dashboard for travellers offering routes
│ ├── receiver.html # Dashboard for package verification for receivers
│ ├── app.js # Global frontend logic
│ ├── auth.js # Frontend authentication handlers
│ ├── autocomplete.js # Open Source Maps address integration
│ ├── three-bg.js # 3D canvas backgrounds
│ ├── styles.css # Glassmorphic and responsive styling
│ ├── ...
└── README.md

🤝 Contributing

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-foo)
  3. Make your changes and commit them (git commit -m 'Add feature-foo')
  4. Push your branch (git push origin feature-foo)
  5. Open a Pull Request

📄 License

This project is proprietary and built for logistics management. All rights reserved.

About

Hackfest26 repository for T01

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

HopDrop

HopDrop is a modern, peer-to-peer logistics and package delivery platform designed to connect Senders of packages with Travellers who are heading in the same direction. By leveraging shared journeys, HopDrop ensures faster, cost-effective, and secure deliveries while providing a seamless user experience.

✨ Features

  • Role-Based Workflows: Separate dashboards and flows for Senders, Travellers, and Receivers.
  • Interactive UI: A stunning Glassmorphic interface with dynamic backgrounds including Space and Sunset Light Mode themes (powered by Three.js).
  • Secure Authentication: Integrated Firebase authentication supporting both Email/Password and Google OAuth 2.0.
  • Smart Addressing: Open Source Maps autocomplete integration for accurate pickup and drop-off coordination.
  • OTP Verification: Secure package handover and delivery confirmation using OTPs, ensuring only the right traveller and right receiver interact with the package.
  • Package Tracking: End-to-end tracking of the package delivery lifecycle.
  • Payment Split: Embedded payment workflows ensuring correct fee distribution (80% to the traveller, 20% platform fee).

🛠️ Technology Stack

Frontend

  • HTML/CSS/JavaScript: Core web technologies with Vanilla JavaScript.
  • Three.js: Used for immersive environment background animations.
  • Firebase Auth: User identity management.
  • Open Source Maps API: Address verification and autocomplete.

Backend

  • Python / FastAPI: Robust backend API handling user management, delivery logic, and payments.
  • Firebase Firestore: NoSQL database for real-time order and user state tracking.

🚀 Setup & Installation

Prerequisites

  • Python 3.8+
  • Node.js (Optional, if using a local server for the frontend)
  • Firebase Project setup with Authentication and Firestore enabled.

Backend Setup

  1. Navigate to the backend directory:
    cd backend
  2. Create and activate a virtual environment (recommended):
    python -m venv venv
    # On Windows:
    venv\Scripts\activate
    # On macOS/Linux:source venv/bin/activate
  3. Install the required dependencies:
    pip install -r requirements.txt
    (Note: ensure you have FastAPI, Uvicorn, Firebase Admin, etc. installed)
  4. Set up your Firebase service account credentials (contact the repo admin if you don't have this or configure your environment variables to point to your serviceAccountKey.json).
  5. Run the FastAPI development server:
    uvicorn app:app --reload

Frontend Setup

  1. The frontend consists of static HTML files in the frontend folder.
  2. Open the frontend folder:
    cd frontend
  3. You can serve the static files using a simple HTTP server. For example:
    python -m http.server 8000
    # OR using npx
    npx serve .
  4. Access the web app in your browser at http://localhost:8000.

📂 Project Structure

HF26-01/
├── backend/
│ ├── app.py # Main FastAPI application
│ ├── auth.py # Backend authentication endpoints
│ ├── database.py # Firestore database logic and connection
│ ├── delivery_system.py # Core business logic for matching and tracking deliveries
│ ├── ...
├── frontend/
│ ├── index.html # Landing page / Start flow
│ ├── sender.html # Dashboard for senders creating packages
│ ├── traveller.html # Dashboard for travellers offering routes
│ ├── receiver.html # Dashboard for package verification for receivers
│ ├── app.js # Global frontend logic
│ ├── auth.js # Frontend authentication handlers
│ ├── autocomplete.js # Open Source Maps address integration
│ ├── three-bg.js # 3D canvas backgrounds
│ ├── styles.css # Glassmorphic and responsive styling
│ ├── ...
└── README.md

🤝 Contributing

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-foo)
  3. Make your changes and commit them (git commit -m 'Add feature-foo')
  4. Push your branch (git push origin feature-foo)
  5. Open a Pull Request

📄 License

This project is proprietary and built for logistics management. All rights reserved.

About

Hackfest26 repository for T01

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

HopDrop

HopDrop is a modern, peer-to-peer logistics and package delivery platform designed to connect Senders of packages with Travellers who are heading in the same direction. By leveraging shared journeys, HopDrop ensures faster, cost-effective, and secure deliveries while providing a seamless user experience.

✨ Features

  • Role-Based Workflows: Separate dashboards and flows for Senders, Travellers, and Receivers.
  • Interactive UI: A stunning Glassmorphic interface with dynamic backgrounds including Space and Sunset Light Mode themes (powered by Three.js).
  • Secure Authentication: Integrated Firebase authentication supporting both Email/Password and Google OAuth 2.0.
  • Smart Addressing: Open Source Maps autocomplete integration for accurate pickup and drop-off coordination.
  • OTP Verification: Secure package handover and delivery confirmation using OTPs, ensuring only the right traveller and right receiver interact with the package.
  • Package Tracking: End-to-end tracking of the package delivery lifecycle.
  • Payment Split: Embedded payment workflows ensuring correct fee distribution (80% to the traveller, 20% platform fee).

🛠️ Technology Stack

Frontend

  • HTML/CSS/JavaScript: Core web technologies with Vanilla JavaScript.
  • Three.js: Used for immersive environment background animations.
  • Firebase Auth: User identity management.
  • Open Source Maps API: Address verification and autocomplete.

Backend

  • Python / FastAPI: Robust backend API handling user management, delivery logic, and payments.
  • Firebase Firestore: NoSQL database for real-time order and user state tracking.

🚀 Setup & Installation

Prerequisites

  • Python 3.8+
  • Node.js (Optional, if using a local server for the frontend)
  • Firebase Project setup with Authentication and Firestore enabled.

Backend Setup

  1. Navigate to the backend directory:
    cd backend
  2. Create and activate a virtual environment (recommended):
    python -m venv venv
    # On Windows:
    venv\Scripts\activate
    # On macOS/Linux:source venv/bin/activate
  3. Install the required dependencies:
    pip install -r requirements.txt
    (Note: ensure you have FastAPI, Uvicorn, Firebase Admin, etc. installed)
  4. Set up your Firebase service account credentials (contact the repo admin if you don't have this or configure your environment variables to point to your serviceAccountKey.json).
  5. Run the FastAPI development server:
    uvicorn app:app --reload

Frontend Setup

  1. The frontend consists of static HTML files in the frontend folder.
  2. Open the frontend folder:
    cd frontend
  3. You can serve the static files using a simple HTTP server. For example:
    python -m http.server 8000
    # OR using npx
    npx serve .
  4. Access the web app in your browser at http://localhost:8000.

📂 Project Structure

HF26-01/
├── backend/
│ ├── app.py # Main FastAPI application
│ ├── auth.py # Backend authentication endpoints
│ ├── database.py # Firestore database logic and connection
│ ├── delivery_system.py # Core business logic for matching and tracking deliveries
│ ├── ...
├── frontend/
│ ├── index.html # Landing page / Start flow
│ ├── sender.html # Dashboard for senders creating packages
│ ├── traveller.html # Dashboard for travellers offering routes
│ ├── receiver.html # Dashboard for package verification for receivers
│ ├── app.js # Global frontend logic
│ ├── auth.js # Frontend authentication handlers
│ ├── autocomplete.js # Open Source Maps address integration
│ ├── three-bg.js # 3D canvas backgrounds
│ ├── styles.css # Glassmorphic and responsive styling
│ ├── ...
└── README.md

🤝 Contributing

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-foo)
  3. Make your changes and commit them (git commit -m 'Add feature-foo')
  4. Push your branch (git push origin feature-foo)
  5. Open a Pull Request

📄 License

This project is proprietary and built for logistics management. All rights reserved.

About

Hackfest26 repository for T01

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

HopDrop

HopDrop is a modern, peer-to-peer logistics and package delivery platform designed to connect Senders of packages with Travellers who are heading in the same direction. By leveraging shared journeys, HopDrop ensures faster, cost-effective, and secure deliveries while providing a seamless user experience.

✨ Features

  • Role-Based Workflows: Separate dashboards and flows for Senders, Travellers, and Receivers.
  • Interactive UI: A stunning Glassmorphic interface with dynamic backgrounds including Space and Sunset Light Mode themes (powered by Three.js).
  • Secure Authentication: Integrated Firebase authentication supporting both Email/Password and Google OAuth 2.0.
  • Smart Addressing: Open Source Maps autocomplete integration for accurate pickup and drop-off coordination.
  • OTP Verification: Secure package handover and delivery confirmation using OTPs, ensuring only the right traveller and right receiver interact with the package.
  • Package Tracking: End-to-end tracking of the package delivery lifecycle.
  • Payment Split: Embedded payment workflows ensuring correct fee distribution (80% to the traveller, 20% platform fee).

🛠️ Technology Stack

Frontend

  • HTML/CSS/JavaScript: Core web technologies with Vanilla JavaScript.
  • Three.js: Used for immersive environment background animations.
  • Firebase Auth: User identity management.
  • Open Source Maps API: Address verification and autocomplete.

Backend

  • Python / FastAPI: Robust backend API handling user management, delivery logic, and payments.
  • Firebase Firestore: NoSQL database for real-time order and user state tracking.

🚀 Setup & Installation

Prerequisites

  • Python 3.8+
  • Node.js (Optional, if using a local server for the frontend)
  • Firebase Project setup with Authentication and Firestore enabled.

Backend Setup

  1. Navigate to the backend directory:
    cd backend
  2. Create and activate a virtual environment (recommended):
    python -m venv venv
    # On Windows:
    venv\Scripts\activate
    # On macOS/Linux:source venv/bin/activate
  3. Install the required dependencies:
    pip install -r requirements.txt
    (Note: ensure you have FastAPI, Uvicorn, Firebase Admin, etc. installed)
  4. Set up your Firebase service account credentials (contact the repo admin if you don't have this or configure your environment variables to point to your serviceAccountKey.json).
  5. Run the FastAPI development server:
    uvicorn app:app --reload

Frontend Setup

  1. The frontend consists of static HTML files in the frontend folder.
  2. Open the frontend folder:
    cd frontend
  3. You can serve the static files using a simple HTTP server. For example:
    python -m http.server 8000
    # OR using npx
    npx serve .
  4. Access the web app in your browser at http://localhost:8000.

📂 Project Structure

HF26-01/
├── backend/
│ ├── app.py # Main FastAPI application
│ ├── auth.py # Backend authentication endpoints
│ ├── database.py # Firestore database logic and connection
│ ├── delivery_system.py # Core business logic for matching and tracking deliveries
│ ├── ...
├── frontend/
│ ├── index.html # Landing page / Start flow
│ ├── sender.html # Dashboard for senders creating packages
│ ├── traveller.html # Dashboard for travellers offering routes
│ ├── receiver.html # Dashboard for package verification for receivers
│ ├── app.js # Global frontend logic
│ ├── auth.js # Frontend authentication handlers
│ ├── autocomplete.js # Open Source Maps address integration
│ ├── three-bg.js # 3D canvas backgrounds
│ ├── styles.css # Glassmorphic and responsive styling
│ ├── ...
└── README.md

🤝 Contributing

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-foo)
  3. Make your changes and commit them (git commit -m 'Add feature-foo')
  4. Push your branch (git push origin feature-foo)
  5. Open a Pull Request

📄 License

This project is proprietary and built for logistics management. All rights reserved.

About

Hackfest26 repository for T01

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages