hackquest logo

EventShot

Never Miss an Event Photo again, Take photos and upload directories on Starknet 🦊

視頻

描述

📸 EventShot: Capturing Moments, Decentralized

EventShot is a decentralized platform designed to revolutionize event photography by seamlessly integrating QR code technology, real-time photo capturing, IPFS for decentralized storage, and StarkNet smart contracts for immutable record-keeping.


🚀 Core Features

1. Event Creation & QR Code Generation

  • Event Hosts can effortlessly create events on the platform.

  • Upon creation, a unique QR code is generated for each event.

  • This QR code can be printed or shared digitally, serving as the gateway for attendees to participate.

2. Attendee Engagement via QR Scanning

  • Attendees scan the event's QR code using their devices.

  • Scanning directs them to the event's dedicated page on the web app, eliminating the need for manual searches or registrations.

3. Real-Time Photo Capture & Upload

  • Within the event page, attendees can capture photos in real-time.

  • Captured images are uploaded to IPFS, ensuring decentralized and tamper-proof storage.

  • Metadata, including uploader information and timestamps, are recorded on StarkNet smart contracts, guaranteeing authenticity and traceability.

4. Immutable Record-Keeping with StarkNet

  • Every photo upload is logged on StarkNet, providing a transparent and immutable history of contributions.

  • This ensures that event memories are preserved securely and verifiably.


🛠️ Technical Architecture

- Frontend: A responsive web application facilitating event creation, QR code generation, and photo capturing.

- Backend: Integration with IPFS for decentralized storage of images.

- Blockchain Layer: StarkNet smart contracts manage event data, image metadata, and user interactions.

- QR Code Integration: Each event's unique QR code links directly to its corresponding page on the web app.

---

🎯 Use Cases

  • Conferences & Seminars: Attendees can capture and share moments, fostering community engagement.

  • Weddings & Celebrations: Guests contribute to a collective photo album, preserving memories from multiple perspectives.

  • Festivals & Public Gatherings: Real-time photo sharing enhances the event experience and creates a decentralized media repository.


🌟 Why EventShot?

  • User-Friendly: Simplifies the process of event participation and photo sharing.

  • Decentralized Storage: Ensures that memories are preserved without reliance on centralized servers.

  • Immutable Records: StarkNet integration guarantees that all contributions are securely recorded.

  • Enhanced Engagement: QR code access and real-time uploads foster active participation.


🔚 Important Links

live url- https://event-shots.vercel.app/

Frontend Github -https://github.com/Shuriken-labs/event-shots
Starknet SmartContract - https://github.com/Shuriken-labs/event-shot-cairo-contract
Backend Github - https://github.com/Shuriken-labs/event-shot-backend-starknet

黑客松進展

1. ByteArray Wars 🔥 The Problem: StarkNet’s ByteArray encoding was not playing nice. The Fight: Tried sending raw strings → Reverted. Manual hex splitting → Calldata mismatches. Finally reverse-engineered the ABI’s expected struct (data, pending_word, pending_word_len) and forced it into submission. 2. The "ENTRYPOINT_NOT_FOUND" Trap 🕳️ The Illusion: Thought the function didn’t exist. Reality: Our calldata formatting was slightly off. Breakthrough: Logged exact calldata sent vs. expected. Realized ByteArray needed chunked 31-byte hex strings + padding. 3. Nested Storage Hell 🌀 Data Structure: event_id → Vec<IImage> (where IImage = uploader + Vec<ByteArray>). Challenge: Flattening nested arrays in Cairo without iter(). Solution: Double for loops with manual indexing (at(i)). Edge Case: Empty arrays? Handled. Missing events? Handled. 4. Frontend ↔ Contract Sync 💥 Pain Point: JS byteArrayFromString ≠ Cairo’s struct. Fix: Made frontend reconstruct the exact ByteArray struct the contract demanded. Validated with raw calldata dumps. 5. The "It Works" Moment 🎉 After: Brutal ABI alignment. Countless panic!("Why?!") removals. Final Win: Images flow from frontend → backend → contract → flattened array without explosions.

技術堆疊

React
Cairo
Starknet
Node

籌資狀態

n/a

團隊負責人EElijah Kolawole
行業
OtherSocialFi