Skip to content

dribdat/everyhackday

Repository files navigation

EveryHackday

An end-to-end platform for organizing and participating in hackathons, fostering innovation and community.

This website was generated during Hack the Hackathon 5 using CloudFlare Build based on the following prompt:

EveryHackday is a comprehensive, end-to-end platform designed to revolutionize the hackathon experience for organizers, participants, and sponsors. For organizers, it offers a powerful suite of tools for seamless event management, from creating custom registration websites to posting challenges and generating detailed analytics on participant engagement and project outcomes. For participants, it provides an enhanced, non-intrusive environment to discover events, form teams, share progress, and build their hacker portfolio. The platform is built on the principles of the Hacker Ethos, promoting open collaboration, inclusivity, and fairness.

Table of Contents

✨ Key Features

For Organizers:

  • Comprehensive Event Management: Plan and manage events seamlessly.
  • Custom Registration Websites: Set up tailored websites for easy registration.
  • Unified Challenge Posting: A shared platform to post challenges and resources.
  • Detailed Analytics: Access neatly generated reports detailing results and impacts.

For Participants:

  • Enhanced Hackathon Experience: Follow challenges, form teams, share progress, and build hacker credibility.
  • Non-Intrusive Platform: Respects participants' choice of creative tools and methods.
  • Diverse and Inclusive: Welcomes designers, developers, researchers, testers, and more.

Premium Features:

  • Integration with Popular Tools: 360° perspective on work being done across 100+ tools.
  • AI Assistance: Guiding event definition, challenge building, communication, and evaluation.
  • Premium NFT Certificates: Blockchain-based tool to generate designer NFT certificates.

🛠️ Technology Stack

🚀 Getting Started

Follow these instructions to get the project up and running on your local machine.

Prerequisites

  • Bun installed on your machine.
  • Wrangler CLI for Cloudflare Workers development and deployment.

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/every_hackday.git
    cd every_hackday
  2. Install dependencies: This project uses bun for package management.

    bun install

Running Locally

To start the development server, which includes both the Vite frontend and the Hono backend worker:

bun dev

The application will be available at http://localhost:3000.

🏗️ Project Structure

The codebase is organized into three main directories:

  • src/: Contains the React frontend application, including pages, components, hooks, and styles.
  • worker/: Contains the Cloudflare Worker backend code, built with Hono. This is where API routes and business logic reside.
  • shared/: Contains TypeScript types and mock data that are shared between the frontend and the backend to ensure type safety.

💻 Development

  • Frontend: All React components and pages are located in src/. The main entry point for the application is src/main.tsx.
  • Backend API: API endpoints are defined in worker/user-routes.ts using the Hono framework.
  • Data Models: Entity logic and interaction with Durable Objects are defined in worker/entities.ts.
  • Shared Types: To maintain consistency, define all shared data structures in shared/types.ts.

☁️ Deployment

This project is configured for easy deployment to Cloudflare's global network.

  1. Login to Wrangler: If you haven't already, authenticate Wrangler with your Cloudflare account.

    wrangler login
  2. Deploy the application: Run the deploy script, which will build the application and deploy it to Cloudflare Workers.

    bun run deploy

Alternatively, deploy directly from your GitHub repository:

[cloudflarebutton]

🤝 Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue to discuss any changes.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License. See the LICENSE file for more details.

About

Vibe coded at Hack the Hackathon 5

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published