A developer-first community and collaboration platform
Features โข Tech Stack โข Getting Started โข Contributing โข Roadmap
HashTribe (DevCom) is a verified developer credibility & collaboration platform where developers build proof-based profiles, join communities (Tribes), compete in coding challenges, and collaborate on real projects.
This initial release focuses on the Tribes (community) system with:
- โ GitHub OAuth authentication
- โ Create & manage Tribes (public/private)
- โ Join/leave Tribes
- โ Role-based permissions (Admin/Member)
- โ Row Level Security (RLS) for data protection
- โ Developer profiles linked to GitHub
- ๐ Topics & Discussions (coming soon)
- ๐ Competitions & Leaderboards (coming soon)
| Feature | Description |
|---|---|
| ๐ Authentication | GitHub OAuth via Supabase Auth |
| ๐ฅ Tribes System | Create and join developer communities |
| ๐ค Profiles | Auto-generated from GitHub data |
| ๐ก๏ธ Security | Row Level Security (RLS) policies |
| ๐ฑ Responsive UI | Dark theme, developer-centric design |
See SCOPE.md for the complete product vision including:
- ๐ฌ Topics & Discussions
- ๐ Competitions & Events
- ๐ Leaderboards & Rankings
- ๐ฏ DevCom Score System
- ๐ข Company Accounts
- ๐ค Project Collaboration
- React 18 - UI library with hooks
- TypeScript - Type safety and better DX
- Vite - Fast build tool and dev server
- Tailwind CSS - Utility-first CSS framework
- Zustand - Lightweight state management
- React Router - Client-side routing
- Supabase - Backend as a Service
- PostgreSQL database with real-time capabilities
- Authentication (GitHub OAuth)
- Row Level Security (RLS)
- Real-time subscriptions
- pnpm workspaces - Efficient package management
- ESLint - Code linting
- Prettier - Code formatting
- Supabase CLI - Local development
- Node.js 18+ (nvm recommended)
- pnpm 8+ (
npm install -g pnpm) - Supabase CLI (installation guide)
- Git
-
Clone the repository
git clone https://github.com/YOUR_USERNAME/HashTribe.git cd HashTribe -
Install dependencies
pnpm install
-
Start Supabase locally
pnpm supabase:start
This will output your local Supabase credentials:
API URL: http://localhost:54321 anon key: eyJh... service_role key: eyJh... -
Configure environment variables
cp .env.example .env
Edit
.envand add your Supabase credentials:VITE_SUPABASE_URL=http://localhost:54321 VITE_SUPABASE_ANON_KEY=your_anon_key_here
-
Run database migrations
pnpm db:migrate
-
Configure GitHub OAuth
a. Create a GitHub OAuth App:
- Go to https://github.com/settings/developers
- Click "New OAuth App"
- Set Authorization callback URL:
http://localhost:54321/auth/v1/callback - Copy the Client ID and Client Secret
b. Add to Supabase:
- Open Supabase Studio: http://localhost:54323
- Go to Authentication โ Providers โ GitHub
- Enable GitHub and add your Client ID and Secret
- Save
-
Start the development server
pnpm dev
The app will open at http://localhost:5173
- Docker 20+
- Docker Compose
- Clone the repository
git clone https://github.com/YOUR_USERNAME/HashTribe.git
cd HashTribe
- Configure environment variables
Copy the example env file:
cp .env.example .env
Edit .env and add your Supabase credentials:
VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_ANON_KEY=your-public-anon-key
Only use the anon key, never the service role key in the frontend.
- Build and run the project
docker compose up --build
-
Docker will build the frontend app with your .env keys
-
Nginx serves the production-ready app
-
Open your browser at:
-
Optional: GitHub OAuth Setup
- Create a GitHub OAuth App:
-
Go to https://github.com/settings/developers โ New OAuth App
-
Set Authorization callback URL: http://localhost:54321/auth/v1/callback
-
Copy Client ID and Client Secret
- Add OAuth credentials in Supabase:
-
Open Supabase Studio โ Authentication โ Providers โ GitHub
-
Enable GitHub and add your Client ID & Secret
-
Access the App
Once Docker is running, the app will be available at:
- Click "Continue with GitHub"
- Authorize the application
- You'll be redirected back and your profile will be auto-created
- Start creating Tribes!
HashTribe/
โโโ ๐ apps/
โ โโโ ๐ web/ # React frontend
โ โโโ ๐ src/
โ โ โโโ ๐ components/ # Reusable components
โ โ โโโ ๐ pages/ # Page components
โ โ โโโ ๐ stores/ # Zustand stores
โ โ โโโ ๐ lib/ # Utilities & config
โ โ โโโ App.tsx # Main app component
โ โโโ package.json
โโโ ๐ packages/
โ โโโ ๐ shared/ # Shared types & utilities
โ โโโ ๐ src/
โ โ โโโ ๐ types/ # TypeScript types
โ โ โโโ ๐ utils/ # Utility functions
โ โโโ package.json
โโโ ๐ supabase/
โ โโโ ๐ migrations/ # Database migrations
โ โโโ seed.sql # Seed data
โ โโโ config.toml # Supabase config
โโโ .env.example # Environment template
โโโ pnpm-workspace.yaml # Workspace config
โโโ package.json # Root package
| Command | Description |
|---|---|
pnpm dev |
Start development server |
pnpm build |
Build for production |
pnpm preview |
Preview production build |
pnpm lint |
Run ESLint |
pnpm type-check |
Run TypeScript checks |
pnpm db:types |
Generate TypeScript types from DB |
pnpm db:reset |
Reset local database |
pnpm db:migrate |
Run migrations |
pnpm supabase:start |
Start local Supabase |
pnpm supabase:stop |
Stop local Supabase |
Key tables:
users- User profiles (linked to auth.users)tribes- Communitiestribe_members- Membership with rolestopics- Discussion topics (Phase 1)topic_replies- Replies to topics (Phase 1)competitions- Coding competitions (Phase 1)competition_participants- Competition entries (Phase 1)
See supabase/migrations/ for complete schema and RLS policies.
We welcome contributions! HashTribe is built for ECWoC (Engineering College Winter of Code) and open-source contributors.
- Check CONTRIBUTING.md for detailed guidelines
- Look for issues labeled
good-first-issue - Comment on an issue to get it assigned
- Fork, code, and submit a PR!
| Label | Description |
|---|---|
good-first-issue |
Perfect for newcomers |
frontend |
React/UI work |
backend |
Supabase/Database work |
rls |
Row Level Security policies |
bug |
Something isn't working |
enhancement |
New feature |
- Project setup & architecture
- GitHub OAuth authentication
- Tribes CRUD with RLS
- Membership management
- Topics & discussions
- Basic competitions
- Leaderboards
- LeetCode/HackerRank integration
- Company accounts
- Hiring challenges
- DevCom Score v2
- Profile analytics
- AI-powered matching
- Advanced analytics
- Recruiter tools
- Global rankings
- Mobile app
See SCOPE.md for the complete product vision.
This project is licensed under the MIT License - see the LICENSE file for details.
- Built for ECWoC (Engineering College Winter of Code)
- Powered by Supabase
- UI inspired by modern developer tools
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Built with โค๏ธ by developers, for developers
โญ Star this repo if you find it useful!

