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.
- ✨ Key Features
- 🛠️ Technology Stack
- 🚀 Getting Started
- 🏗️ Project Structure
- 💻 Development
- ☁️ Deployment
- 🤝 Contributing
- 📄 License
- 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.
- 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.
- 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.
- Frontend: React, Vite, React Router
- Backend: Cloudflare Workers, Hono
- State Management: Zustand
- Styling: Tailwind CSS, shadcn/ui
- Animations: Framer Motion
- Language: TypeScript
- Storage: Cloudflare Durable Objects
Follow these instructions to get the project up and running on your local machine.
- Bun installed on your machine.
- Wrangler CLI for Cloudflare Workers development and deployment.
-
Clone the repository:
git clone https://github.com/your-username/every_hackday.git cd every_hackday -
Install dependencies: This project uses
bunfor package management.bun install
To start the development server, which includes both the Vite frontend and the Hono backend worker:
bun devThe application will be available at http://localhost:3000.
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.
- Frontend: All React components and pages are located in
src/. The main entry point for the application issrc/main.tsx. - Backend API: API endpoints are defined in
worker/user-routes.tsusing 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.
This project is configured for easy deployment to Cloudflare's global network.
-
Login to Wrangler: If you haven't already, authenticate Wrangler with your Cloudflare account.
wrangler login
-
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]
Contributions are welcome! Please feel free to submit a pull request or open an issue to discuss any changes.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License. See the LICENSE file for more details.