Inspiration
EventFi was inspired by the frustration of ticket fraud, scalping, and event access issues in both physical and digital spaces. We wanted to create a secure, blockchain-powered ticketing solution where ownership is verifiable and tamper-proof — much like NFTs, but with real-world utility.
What it does
EventFi enables users to purchase, store, and access event tickets securely on the blockchain. Each ticket is tied to a verified wallet address, preventing unauthorized transfers and fake copies. Even for live events, users can still make purchases without losing access control.
How we built it
- Backend: Node.js with Express for APIs, integrated with a blockchain (CELO) for NFT-style ticket verification.
- Frontend: React + TypeScript for a responsive user interface, with real-time updates for ticket ownership.
- Security: Middleware checks in
server/app.jsandserver/routes/tickets.jsto ensure only verified owners can access their tickets. - Database: PostgreSQL for storing event and user metadata.
- Deployment: Hosted on Render for the server and Vercel for the frontend.
Challenges we ran into
- Preventing direct URL access to tickets without verification.
- Ensuring zero caching for sensitive ticket data while maintaining performance.
- Allowing live event purchases without breaking ownership checks.
- Integrating blockchain verification seamlessly without slowing down the user experience.
Accomplishments that we're proud of
- Successfully blocked all unauthorized ticket access attempts.
- Created a clean, intuitive UI for event browsing and ticket management.
- Achieved smooth blockchain integration for ticket verification.
- Maintained fast load times despite added security layers.
What we learned
- Fine-tuning server caching rules for security-critical endpoints.
- Efficient blockchain API calls for real-time verification.
- Balancing UX with security in event platforms.
- Handling edge cases where events are live but still accepting purchases.
- https://github.com/Chrispin-m/Eventfi ## System Architecture ```mermaid graph TD A[User] -->|Buys Ticket| B[React Frontend] B -->|API Request| C[Express Server] C -->|Verify Wallet| D[Blockchain Network] C -->|Fetch Event/Ticket Data| E[PostgreSQL DB] D --> C E --> C C -->|Authorized Ticket Data| B B -->|Display Secure Ticket| A
Built With
- crossfi
- typescript
- web3
Log in or sign up for Devpost to join the conversation.