AI Innovation for Global Impact
A community-driven platform for developers to collaborate on AI and open-source projects while earning rewards through a gamified system.
- π― Bounty System: Participate in development bounties and earn Cue Currency rewards
- π Project Management: Track and manage collaborative development projects
- π Marketplace: Purchase items using earned Cue Currency
- π Leaderboards: Community rankings and achievement system
- π₯ User Profiles: Comprehensive developer profiles with GitHub integration
- π Secure Authentication: GitHub OAuth integration for seamless login
- β‘ Admin Dashboard: Administrative tools for managing bounties and submissions
- Framework: Next.js 15 with App Router
- Language: TypeScript 5
- Styling: Tailwind CSS 4 with shadcn/ui components
- State Management: Redux Toolkit + TanStack Query
- Authentication: NextAuth.js with GitHub OAuth
- Database: Airtable integration
- Deployment: Vercel
Before you begin, ensure you have the following installed:
- Node.js (v22 or higher)
- npm or yarn
- Git
- GitHub account (for OAuth setup)
- Airtable account (for database setup)
-
Fork and clone the repository
# Fork the repository on GitHub first, then clone your fork git clone https://github.com/YOUR_USERNAME/cuelabs-platform.git cd cuelabs-platform # Add the upstream repository git remote add upstream https://github.com/cuesoftinc/cuelabs-platform.git
-
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local
Fill in the required environment variables (see Environment Setup below)
-
Start the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
- Create a new Airtable base or use an existing one
- Set up the required tables (see Airtable Setup Guide)
- Get your API key from Airtable Account
- Get your Base ID from the Airtable API documentation
- Go to GitHub Settings > Developer settings > OAuth Apps
- Create a new OAuth App with:
- Application name: CueLABSβ’ Platform (or your preferred name)
- Homepage URL:
http://localhost:3000(for development) - Authorization callback URL:
http://localhost:3000/api/auth/callback/github
- Copy the Client ID and Client Secret
Update your .env.local file with the following variables:
# Database
AIRTABLE_API_KEY=your_airtable_api_key
AIRTABLE_BASE_ID=your_airtable_base_id
# Authentication
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_nextauth_secret
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
# Optional: Analytics
VERCEL_ANALYTICS_ID=your_vercel_analytics_id- Contributing Guidelines
- Fork-based Workflow Guide
- Airtable Setup Guide
- GitHub OAuth Setup
- API Documentation
- Architecture Overview
- Deployment Guide
We welcome contributions from the community! Please read our Contributing Guidelines to get started.
- Fork the repository on GitHub
- Clone your fork locally and add upstream remote
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes following our coding standards
- Run tests and linting (
npm run test && npm run lint) - Commit your changes (
git commit -m 'Add amazing feature') - Push to your fork (
git push origin feature/amazing-feature) - Open a Pull Request from your fork to the upstream
mainbranch
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npm run lint:fix # Fix ESLint issues
npm run type-check # Run TypeScript type checkingsrc/
βββ app/ # Next.js App Router
β βββ api/ # API routes
β βββ platform/ # Platform pages (auth, dashboard, admin)
β βββ globals.css # Global styles
βββ components/ # React components
β βββ ui/ # shadcn/ui base components
β βββ custom/ # Application-specific components
βββ hooks/ # Custom React hooks
βββ lib/ # Utility functions
βββ store/ # Redux store and slices
βββ types/ # TypeScript type definitions
If you discover a security vulnerability, please follow our Security Policy for responsible disclosure.
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub Discussions: Join the conversation
- Issues: Report bugs or request features
- Twitter: @cuesoftinc