YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
- SkillHub - Skill Exchange Platform
SkillHub - Skill Exchange Platform
A modern, minimalistic skill-sharing platform where users can exchange skills, learn new technologies, and collaborate on projects. Built with React, TypeScript, Tailwind CSS, and Supabase.
π― Features
Core Functionality
- User Authentication - Secure email/password authentication with Supabase
- Profile Management - Create and customize your professional profile
- Skill Marketplace - Browse and exchange skills with other users
- Credit System - Earn and spend credits for skill exchanges
- Social Feed - Share updates, posts, and interact with the community
- Direct Messaging - Real-time communication between users
- Project Collaboration - Find collaborators for your projects
- Booking System - Schedule skill exchange sessions
- Learning Modules - Access comprehensive courses in Java, Python, HTML, CSS
- AI Recommendations - Get personalized skill match suggestions
- Puzzle Games - Engage with educational coding challenges
- Notifications - Stay updated with real-time notifications
Accessibility Features
- Voice Navigation - Navigate the app using voice commands
- Multi-language Support - Available in English, Spanish, French, German, and Chinese
- Screen Reader Compatible - Full ARIA labels and semantic HTML
- Keyboard Navigation - Complete keyboard accessibility
- Reduced Motion Support - Respects user motion preferences
Design
- Minimalistic Black & White Theme - Clean, professional aesthetic
- Responsive Design - Optimized for mobile, tablet, and desktop
- Smooth Animations - Subtle transitions and micro-interactions
- Modern UI Components - Built with Tailwind CSS
- Accessible Design - WCAG 2.1 compliant
π Getting Started
Prerequisites
- Node.js 18+
- npm or yarn
- Supabase account (database already configured)
Installation
- Clone the repository
git clone <repository-url>
cd skillhub
- Install dependencies
npm install
Environment variables are already configured in
.envVITE_SUPABASE_URL- Your Supabase project URLVITE_SUPABASE_ANON_KEY- Your Supabase anonymous key
Start the development server
npm run dev
- Open your browser and navigate to
http://localhost:5173
Build for Production
npm run build
The built files will be in the dist/ directory.
Preview Production Build
npm run preview
ποΈ Project Structure
skillhub/
βββ src/
β βββ components/ # React components
β β βββ Auth.jsx # Authentication forms
β β βββ Dashboard.jsx # Main dashboard layout
β β βββ Profile.jsx # User profile management
β β βββ ExploreSkills.jsx # Skill browsing and learning
β β βββ MySkills.jsx # User's skills management
β β βββ Feed.jsx # Social feed
β β βββ Posts.jsx # Post creation and display
β β βββ Messages.jsx # Direct messaging
β β βββ Projects.jsx # Project collaboration
β β βββ Bookings.jsx # Session scheduling
β β βββ Credits.jsx # Credit management
β β βββ UserSearch.jsx # User discovery
β β βββ Notifications.jsx # Notification center
β β βββ PuzzleGames.jsx # Coding challenges
β β βββ AIRecommendations.jsx # AI matching
β β βββ SettingsPanel.jsx # Settings
β β βββ AccessibilitySettings.tsx # Accessibility options
β βββ contexts/ # React contexts
β β βββ AuthContext.jsx # Authentication state
β β βββ AccessibilityContext.tsx # Accessibility state
β βββ hooks/ # Custom React hooks
β β βββ useActivityTracker.ts # Activity tracking
β β βββ useTranslation.ts # Internationalization
β β βββ useVoiceCommands.ts # Voice navigation
β βββ lib/ # External services
β β βββ supabase.js # Supabase client
β β βββ translations.ts # Translation strings
β βββ utils/ # Utility functions
β β βββ themeClasses.js # Theme utilities
β βββ App.jsx # Main app component
β βββ main.jsx # App entry point
β βββ index.css # Global styles
βββ supabase/
β βββ migrations/ # Database migrations
β βββ functions/ # Edge functions
β βββ api-profiles/ # Profile API
β βββ api-projects/ # Projects API
β βββ api-skills/ # Skills API
β βββ ai-skill-matching/ # AI recommendations
βββ public/ # Static assets
βββ dist/ # Production build
βββ package.json # Dependencies
ποΈ Database Schema
Core Tables
- profiles - User profiles with skills and credits
- skills - Available skills catalog
- profile_skills - User-skill relationships
- user_skills_to_learn - Skills users want to learn
- bookings - Skill exchange sessions
- credit_transactions - Credit transfer history
- posts - User-generated content
- post_interactions - Likes and comments
- messages - Direct messages between users
- notifications - User notifications
- projects - Collaboration projects
- project_members - Project team members
Security
- Row Level Security (RLS) enabled on all tables
- Authentication-based access control
- Secure data isolation per user
π API Endpoints
Edge Functions
All Edge Functions are deployed on Supabase and handle:
- api-profiles - Profile CRUD operations
- api-projects - Project management
- api-skills - Skills catalog
- ai-skill-matching - AI-powered skill recommendations
Authentication
Uses Supabase Auth with email/password:
- Sign Up
- Sign In
- Sign Out
- Session Management
π¨ Design System
Colors
- Primary: Black (#000000)
- Background: White (#FFFFFF)
- Text: Gray-900 (#1a1a1a)
- Secondary Text: Gray-600 (#525252)
- Borders: Gray-200 (#e5e7eb)
- Accents: Gray-900 for buttons and highlights
Typography
- Font Family: System fonts (Inter, SF Pro, Segoe UI)
- Headings: Bold, line-height 1.2
- Body: Regular, line-height 1.5
Spacing
- Base unit: 4px (0.25rem)
- Consistent 8px spacing system
π§ͺ Technologies Used
Frontend
- React 18 - UI library
- TypeScript - Type safety
- Vite - Build tool and dev server
- Tailwind CSS - Utility-first CSS framework
- Lucide React - Icon library
Backend
- Supabase - Backend as a Service
- PostgreSQL database
- Authentication
- Row Level Security
- Edge Functions
- Real-time subscriptions
Development Tools
- ESLint - Code linting
- PostCSS - CSS processing
- Autoprefixer - CSS vendor prefixing
π± Responsive Breakpoints
- Mobile: < 640px
- Tablet: 640px - 1024px
- Desktop: > 1024px
π Browser Support
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
π Security
- Secure authentication with Supabase
- Row Level Security (RLS) policies
- Environment variables for sensitive data
- HTTPS only in production
- XSS protection
- CSRF protection
π€ Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
π License
This project is licensed under the MIT License.
π₯ Support
For support, email support@skillhub.com or join our community Discord.
π Acknowledgments
- Built with Vite
- UI Components inspired by modern design principles
- Icons by Lucide
- Database by Supabase
- Images from Pexels
Made with β€οΈ for the learning community
Inference Providers NEW
This model isn't deployed by any Inference Provider. π Ask for provider support
