A comprehensive platform for browsing, managing, and tracking professional certifications. This project streamlines the process of finding the right certifications and managing funding requests for small teams.
- Certification Catalog: Browse a wide range of certifications with details on domain, technology, level, and price.
- Admin Dashboard: Centralized management for administrators to:
- Synchronize certification data from Google Sheets.
- Track user enrollment and completion statistics.
- Review and approve/reject certification funding applications.
- Google Sheets Integration: Robust sync logic that maps spreadsheet data directly to the Supabase database.
- Persistent Settings: Admin configurations (like Sheet ID and GID) are stored for a seamless experience.
- Authentication: Secure login and role-based access control using Supabase Auth.
- Frontend: React (with Vite), TypeScript, Tailwind CSS.
- UI Components: shadcn/ui (Radix UI primitives).
- Backend/Database: Supabase (Postgres, Auth, Edge Functions).
- State Management: TanStack Query (React Query).
- Icons: Lucide React.
- Node.js & npm (or bun) installed.
- A Supabase project with the required schema.
-
Clone the repository:
git clone <YOUR_GIT_URL> cd certification-hub
-
Install dependencies:
npm install # or bun install -
Environment Variables: Create a
.envfile in the root directory and add your Supabase credentials:VITE_SUPABASE_URL=your_supabase_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
-
Run the development server:
npm run dev
src/components: Reusable UI components and feature-specific logic.src/pages: Main application views (Index, AdminDashboard, Login, etc.).src/integrations/supabase: Supabase client configuration and types.src/hooks: Custom React hooks for data fetching and authentication.src/types: TypeScript interfaces and type definitions.
This project is licensed under the MIT License.