Hop-bee is a gamified social platform designed to combat loneliness by connecting people through structured hobby journeys. Unlike generic social networks, Hop-bee focuses on active participation, skill progression, and community challenges.
A vertical, TikTok-style video feed dedicated to hobbies.
- Buzzes: Short-form video content showcasing skills
- Nectar (Like): Gamified appreciation system
- Pollinate (Share): Spread ideas to other users
Users earn badges based on their journey:
- π± Seed: Beginner/Learner
- πΏ Sprout: Intermediate/Hobbyist
- π» Bloom: Expert/Mentor
Join hobby-specific guilds to connect with like-minded enthusiasts, participate in challenges, and grow together.
Showcase your hobby journey with a personalized profile featuring your skill badges, buzzes, and achievements displayed in a unique honeycomb grid layout.
- Frontend: React 18, TypeScript, Vite
- Styling: Tailwind CSS, Shadcn UI, Lucide React
- Backend: Supabase (PostgreSQL, Auth, Realtime)
- Routing: React Router v6
- State Management: TanStack Query (React Query)
- Forms: React Hook Form + Zod validation
- UI Components: Radix UI primitives
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher)
- npm or bun package manager
- Git
-
Clone the repository
git clone https://github.com/devendrasaim/hobby-hive.git cd hobby-hive -
Install dependencies
npm install # or bun install -
Set up environment variables
Create a
.env.localfile in the root directory:VITE_SUPABASE_URL=your_supabase_project_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
-
Start the development server
npm run dev # or bun dev -
Open your browser
Navigate to
http://localhost:5173to see the application running.
hobby-hive/
βββ public/ # Static assets
βββ src/
β βββ components/ # Reusable UI components
β β βββ ui/ # Shadcn UI components
β βββ features/ # Feature-based modules
β β βββ auth/ # Authentication features
β β βββ discover/ # Discovery/explore features
β β βββ hive/ # Video feed (Buzzes)
β β βββ profile/ # User profile features
β β βββ settings/ # Settings & preferences
β βββ hooks/ # Custom React hooks
β βββ layout/ # Layout components
β β βββ AppLayout.tsx
β β βββ BottomNavigation.tsx
β β βββ NavLink.tsx
β βββ lib/ # Utility functions
β βββ pages/ # Page components (routes)
β βββ App.tsx # Main app component
β βββ main.tsx # Application entry point
βββ .gitignore
βββ package.json
βββ tailwind.config.ts
βββ tsconfig.json
βββ vite.config.ts
npm run dev- Start development server with hot reloadnpm run build- Build for productionnpm run build:dev- Build in development modenpm run preview- Preview production build locallynpm run lint- Run ESLint to check code quality
- TypeScript for type safety
- Feature-based architecture for scalability
- Component co-location - keep related files together
- Functional components with React Hooks
- Tailwind CSS for styling with utility-first approach
- Create a new directory under
src/features/[feature-name] - Add feature-specific components, hooks, and utilities
- Export public APIs from an
index.tsfile - Create corresponding page in
src/pages/if needed - Update routing in
App.tsx
This project uses Shadcn UI, a collection of re-usable components built with Radix UI and Tailwind CSS.
To add new UI components:
npx shadcn@latest add [component-name]Currently, the project is in beta and testing infrastructure is being set up. Planned testing stack:
- Vitest for unit tests
- React Testing Library for component tests
- Playwright for E2E tests
npm run buildThe optimized production build will be in the dist/ directory.
This project can be deployed to:
- Vercel (Recommended)
- Netlify
- Cloudflare Pages
- Any static hosting service
Ensure all environment variables are configured in your deployment platform:
VITE_SUPABASE_URLVITE_SUPABASE_ANON_KEY
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m 'Add some amazing feature' - Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- Follow the existing code style and conventions
- Write meaningful commit messages
- Update documentation as needed
- Ensure your code passes linting (
npm run lint) - Test your changes thoroughly
This project is licensed under the MIT License - see the LICENSE file for details.
- Devendra Saim - @devendrasaim
- Built with Lovable - AI-powered development platform
- UI components from Shadcn UI
- Icons from Lucide
- Powered by Supabase
For support, questions, or feedback:
- Open an issue on GitHub Issues
- Contact: [Your Email/Social Media]
- User authentication & authorization
- Video upload & processing
- Real-time notifications
- Guild creation & management
- Challenge system
- Mobile app (React Native)
- AI-powered hobby recommendations