Oscov Codabot is a coding marathon management platform designed for Vedas-OSCOV. It enables administrators to manage open-source issues and challenges, while participants can submit solutions (Pull Requests) to earn points and climb the leaderboard. The system features an AI-assisted verification workflow using Google Gemini to analyze code quality before manual moderation.
- Public Landing Page: Minimalist design showcasing marathon stats.
- Issue Browser: Participants can view and filter active coding challenges fetched from GitHub.
- Submission System: Users submit PR links, which are automatically analyzed by AI.
- Admin Dashboard: A comprehensive control center to manage issues and review submissions.
- AI-Powered Verification: Google Gemini analyzes PR diffs for quality, bugs, and requirements.
- Leaderboard: Real-time ranking of top contributors based on accrued points.
- Framework: Next.js 15 (App Router)
- Language: TypeScript
- Database: PostgreSQL
- ORM: Prisma
- Styling: Vanilla CSS (CSS Modules)
- Authentication: NextAuth.js (GitHub OAuth)
- AI: Google Generative AI SDK (Gemini)
- Node.js 18+
- PostgreSQL Database
- GitHub OAuth App credentials
- Google Gemini API Key
-
Clone the repository:
git clone <repository-url> cd oscov-codabot
-
Install dependencies:
npm install
-
Configure Environment Variables: Copy the example file and fill in your credentials.
cp .env.example .env
Required Variables:
DATABASE_URL: Connection string for your PostgreSQL database.GITHUB_ID&GITHUB_SECRET: From your GitHub OAuth App.GEMINI_API_KEY: For AI analysis features.NEXTAUTH_SECRET: A random string for session security.
-
Initialize the Database:
npx prisma migrate dev
-
Start the Development Server:
npm run dev
The application will be available at
http://localhost:3000.
See docs/architecture.md for a detailed breakdown of the system design and component interaction.
See docs/authors.md.