Skip to content

ictinus0222/hackerDen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

79 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

HackerDen- What do hackers want?

A modern, real-time collaborative platform built for hackathon teams. Streamline your team coordination, task management, and project submissions all in one place.

Built with React 19, Appwrite, and Tailwind CSS.

Project_HackerDen 1

View Demo View Submission

✨ Features

πŸ† Hackathon Management

  • Hackathon Console - Centralized dashboard for all your hackathons (ongoing, upcoming, completed)
  • Team Creation & Joining - Create teams with unique join codes or join existing teams
  • Role-Based Permissions - Team leaders with full control, members with appropriate access
  • OAuth Authentication - Secure login with Google and GitHub

hackathon-dashboard

πŸ“‹ Real-Time Task Management

  • Kanban Board - Four-column board (To-Do, In Progress, Blocked, Done) with drag-and-drop
  • Live Synchronization - Instant task updates across all team members
  • Task Assignment - Assign tasks with priority levels and custom labels
  • Progress Tracking - Visual progress indicators and completion metrics

kanban-board

πŸ’¬ Team Communication

  • Real-Time Chat - Instant messaging with your team members
  • System Notifications - Automated task activity updates
  • User Avatars - Colorful avatars with team member names
  • Message History - Persistent chat history with timestamps

chat

πŸ“ File Sharing & Collaboration

  • File Upload - Share images, PDFs, code files, and documents (up to 10MB)
  • Team File Library - Centralized file browser with preview capabilities
  • Syntax Highlighting - Code preview with language-specific highlighting
  • Real-Time Sync - Live file updates across the team

vault-files

πŸ… Judge Submission System

  • Submission Builder - Comprehensive project submission forms
  • Public Judge Pages - Shareable URLs for judges (no authentication required)
  • Auto-Aggregation - Automatically pull data from tasks and files
  • Submission Lock - Finalize submissions when judging begins

team-submission

🎨 Modern UI/UX

  • Dark Theme - Professional dark interface with green accents
  • Responsive Design - Seamless experience from mobile to desktop
  • Smooth Animations - Polished transitions and interactions
  • Accessibility - WCAG compliant with keyboard navigation and screen reader support

hackerden netlify app_home(HighRes Screenshot)_compressed

πŸ› οΈ Tech Stack

  • Frontend: React 19 + Vite
  • Styling: Tailwind CSS with custom dark theme
  • UI Components: shadcn/ui + Radix UI
  • Backend: Appwrite (BaaS with real-time capabilities)
  • State Management: React Context API
  • Routing: React Router DOM
  • Testing: Vitest + React Testing Library
  • Icons: Lucide React
  • Deployment: Netlify

πŸš€ Getting Started

Prerequisites

  • Node.js v18+
  • npm or yarn
  • Appwrite account (cloud or self-hosted)

Installation

  1. Clone and install
git clone <repository-url>
cd hackerden
npm install
  1. Configure environment
cp .env.example .env

Edit .env with your Appwrite credentials:

VITE_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
VITE_APPWRITE_PROJECT_ID=your-project-id
VITE_APPWRITE_DATABASE_ID=your-database-id
APPWRITE_API_KEY=your-server-api-key
VITE_PUBLIC_URL=http://localhost:5173
  1. Set up Appwrite backend
npm run setup:enhancements
npm run validate:schema
  1. Start development server
npm run dev

Visit http://localhost:5173 and start collaborating!

Quick Start

  1. Register an account
  2. Create or join a hackathon
  3. Create or join a team with a join code
  4. Start managing tasks and chatting with your team

πŸ“œ Available Scripts

# Development
npm run dev              # Start development server
npm run build            # Build for production
npm run preview          # Preview production build

# Testing
npm run test             # Run tests in watch mode
npm run test:run         # Run tests once

# Setup & Utilities
npm run setup:enhancements  # Set up Appwrite collections and storage
npm run validate:schema     # Validate database schema
npm run backup              # Create project backup

🀝 Contributing

We welcome contributions! Here's how you can help:

Development Setup

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Run tests (npm run test:run)
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

Code Style

  • Follow the existing code style and conventions
  • Use ESLint for code quality (npm run lint)
  • Write tests for new features
  • Ensure accessibility compliance (WCAG 2.1 AA)
  • Use semantic commit messages

Project Structure

src/
β”œβ”€β”€ components/     # UI components (shadcn/ui + custom)
β”œβ”€β”€ contexts/       # React contexts (Auth, Team, Notifications)
β”œβ”€β”€ hooks/          # Custom React hooks
β”œβ”€β”€ pages/          # Page components
β”œβ”€β”€ services/       # API services (Appwrite integration)
β”œβ”€β”€ utils/          # Utility functions
└── lib/            # Third-party integrations

Testing

  • Write unit tests for utilities and services
  • Write component tests for UI components
  • Ensure responsive design works on mobile and desktop
  • Test real-time features with multiple users

Documentation

  • Update README for new features
  • Add JSDoc comments for complex functions
  • Update relevant docs in the docs/ folder
  • Include screenshots for UI changes

πŸ“š Documentation

Detailed documentation is available in the docs/ folder:

  • appwrite-setup.md - Backend configuration guide
  • enhancement-setup-guide.md - Feature setup instructions
  • development-guide.md - Development workflow
  • Additional feature-specific guides

πŸ“ License

This project is licensed under the MIT License.

πŸ™ Acknowledgments

Built with:


Made with Kiro & ❀️ for hackathon teams worldwide

About

What do hackers want? Like all craftsmen, hackers like good tools. In fact, that's an understatement. Good hackers find it unbearable to use bad tools. They'll simply refuse to work on projects with the wrong infrastructure.

Resources

License

Stars

Watchers

Forks

Contributors