NexusHub is a SaaS platform designed for YouTubers and freelance video editors to collaborate on video projects. It provides a centralized workspace for managing projects, assigning tasks, and communicating with team members.
- User Authentication: Secure authentication with Clerk, including role-based access control.
- Role-Based Access: Different interfaces and permissions for YouTubers (Creators) and Video Editors.
- Project Management: Create, manage, and track video projects from start to finish.
- Team Collaboration: Invite editors to your organization and assign them to specific projects.
- Real-time Notifications: Stay updated with real-time notifications about project updates and comments.
- YouTube Integration: Connect your YouTube account to access your channel data (coming soon).
- Frontend: Next.js with TypeScript and App Router
- Authentication: Clerk
- State Management: React Query
- Styling: Tailwind CSS
- Real-time Updates: Socket.io
- Node.js 18.x or later
- npm or yarn
- Clone the repository:
git clone https://github.com/yourusername/nexushub.git
cd nexushub- Install dependencies:
npm install
# or
yarn install- Set up environment variables:
Create a .env.local file in the root directory with the following variables:
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
# Clerk URLs
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard
# Google OAuth
NEXT_PUBLIC_GOOGLE_CLIENT_ID=your_google_client_id
NEXT_PUBLIC_GOOGLE_CLIENT_SECRET=your_google_client_secret
You'll need to create a Clerk application at clerk.dev and obtain your API keys.
- Run the development server:
npm run dev
# or
yarn dev- Open http://localhost:3000 in your browser to see the application.
- Create an account at clerk.dev
- Create a new application
- Go to API Keys and copy your Publishable Key and Secret Key
- Add them to your
.env.localfile - Configure your OAuth providers (Google) in the Clerk dashboard
To set up user roles in Clerk:
- Go to your Clerk Dashboard
- Navigate to JWT Templates
- Add a custom claim for the user's role
- Use the Clerk Admin API to update user metadata with their role (creator or editor)
The application can be deployed to Vercel:
- Push your code to a GitHub repository
- Import the repository in Vercel
- Add your environment variables
- Deploy
This project is licensed under the MIT License - see the LICENSE file for details.