AICore Connect Hackathon | UnsaidTalks | Submission Deadline: 26 April 2026
Click the thumbnail below to watch the full walkthrough, or use the direct link: ๐ Direct Drive Link: https://drive.google.com/file/d/1tzdLxgNcgoukVoa2PV6U2161oUW9Ekqp/view?usp=sharing
๐ Google Drive Folder (Proof Storage Demo): View Shared Folder
The screen recording demonstrates: Organization setup โ Ambassador onboarding โ Task creation โ Proof upload to Google Drive โ Leaderboard update โ GitHub Profile Analysis.
Organizations and startups running Campus Ambassador (CA) programs fall back on spreadsheets, WhatsApp groups, and manual forms โ creating a fragmented experience that frustrates ambassadors and overwhelms managers. Valuable ambassadors disengage when they lack clarity, recognition, and structure.
CampusConnect solves this by providing a centralized platform where organizations onboard ambassadors, assign challenges, track engagement, and where ambassadors earn recognition for every contribution they make.
| Feature | Description |
|---|---|
| ๐ข Org Onboarding | Create organization, get unique 6-char invite code |
| ๐ Task Manager | Create/edit/close tasks (Referral, Social Post, Event, Content) with points & deadlines |
| โ Proof Review | Review ambassador-submitted proofs (uploaded to Google Drive) โ approve or reject |
| ๐ Analytics Dashboard | Real-time stats: completion rates, engagement timeline, college breakdown |
| ๐ Leaderboard | See top performers ranked by points โ filter by week/month/all-time |
| ๐ฅ Ambassador Directory | Searchable table of all ambassadors with export to CSV |
| Feature | Description |
|---|---|
| ๐ฏ My Tasks | View all assigned tasks with deadlines, submit proof via file or link |
| โ๏ธ Google Drive Proof | Files uploaded directly to organization's Google Drive folder |
| ๐ฅ Points & Streaks | Earn points on task completion; streak bonuses for consistent activity |
| ๐ Badges | Earn 6 unique badges (First Blood, On Fire, Rocketeer, Megaphone, Connector, Star Ambassador) |
| ๐ Leaderboard | Live ranked leaderboard โ see your rank vs. peers |
| ๐ GitHub Analyzer | AI-powered GitHub profile analysis โ recruiter-readiness score in < 2 minutes |
Enter your GitHub username and get:
- โ Overall Profile Score (0โ100) with recruiter grade (A/B/C/D)
- ๐ Repos to highlight vs. archive (with specific reasoning)
- ๐ README quality score per repo + improvement suggestions
- ๐ What recruiters notice first (pinned repos, bio, avatar)
- ๐ฃ๏ธ 3โ5 prioritized action items to become recruiter-ready
Frontend: React 18 + Vite + Tailwind CSS + shadcn/ui + Recharts
Backend: Node.js + Express.js (REST API)
Database: MongoDB Atlas
Auth: JWT (JSON Web Tokens) + bcrypt
Storage: Google Drive API v3 (proof file uploads)
AI: Google Gemini API (GitHub profile analysis)
Hosting: Vercel Serverless (Frontend & Backend APIs)
- Node.js 18+
- MongoDB Atlas account (free tier)
- Google Cloud Console project with Drive API enabled
- Anthropic API key (or OpenAI)
- GitHub Personal Access Token (optional, raises rate limits)
git clone https://github.com/Piyusha942007/CampusConnect.git
cd campusconnectcd server
npm install
cp .env.example .env
# Fill in your .env values (see Environment Variables section below)
npm run devcd client
npm install
cp .env.example .env
# Set VITE_API_URL=http://localhost:5000
npm run devFrontend: https://campusconnect-tau-lac.vercel.app/
Backend: https://campus-connect-blond-one.vercel.app/
# Server
PORT=5000
NODE_ENV=development
# Database
MONGODB_URI=mongodb+srv://<user>:<password>@cluster.mongodb.net/campusconnect
# JWT
JWT_SECRET=your_super_secret_jwt_key_256_bits_long
JWT_EXPIRES_IN=7d
# Google Drive API
GOOGLE_CLIENT_ID=your_google_oauth_client_id
GOOGLE_CLIENT_SECRET=your_google_oauth_client_secret
GOOGLE_REDIRECT_URI=http://localhost:5000/api/drive/callback
# AI (Anthropic Claude)
ANTHROPIC_API_KEY=sk-ant-your_anthropic_api_key
# GitHub (optional โ increases API rate limit from 60 to 5000 req/hr)
GITHUB_TOKEN=ghp_your_github_pat
# Frontend URL (for CORS)
CLIENT_URL=http://localhost:5173VITE_API_URL=http://localhost:5000This is required for proof file uploads to work.
- Go to Google Cloud Console
- Create a new project โ Enable Google Drive API
- Go to APIs & Services โ Credentials โ Create OAuth 2.0 Client ID
- Set Authorized redirect URI to:
https://campus-connect-blond-one.vercel.app/oauth2callbackandhttps://campus-connect-blond-one.vercel.app/api/auth/google/callback - Copy
Client IDandClient Secretinto your.env - When Admin registers and connects Drive, they are prompted to authorize โ this creates a shared org folder at:
CampusConnect/{OrgName}/ - All ambassador proof uploads go into:
CampusConnect/{OrgName}/{TaskTitle}/{AmbassadorName}_{timestamp}.ext
Demo Google Drive Folder (read-only): Click Here
campusconnect/
โโโ client/ # React + Vite frontend
โ โโโ src/
โ โ โโโ components/ # Reusable UI components
โ โ โ โโโ ui/ # shadcn/ui base components
โ โ โ โโโ Leaderboard/
โ โ โ โโโ TaskCard/
โ โ โ โโโ BadgeDisplay/
โ โ โโโ pages/
โ โ โ โโโ Landing.jsx
โ โ โ โโโ auth/ # Login, Register
โ โ โ โโโ admin/ # Dashboard, Tasks, Analytics, Ambassadors
โ โ โ โโโ ambassador/ # Dashboard, Tasks, Profile, GitHub Analyzer
โ โ โโโ hooks/ # Custom React hooks
โ โ โโโ lib/ # API client, utils
โ โ โโโ App.jsx
โ โโโ .env.example
โ โโโ package.json
โ
โโโ server/ # Express backend
โ โโโ src/
โ โ โโโ models/ # Mongoose models
โ โ โ โโโ User.js
โ โ โ โโโ Organization.js
โ โ โ โโโ Task.js
โ โ โ โโโ Submission.js
โ โ โโโ routes/
โ โ โ โโโ auth.js
โ โ โ โโโ org.js
โ โ โ โโโ tasks.js
โ โ โ โโโ gamification.js
โ โ โ โโโ github.js
โ โ โ โโโ drive.js
โ โ โโโ middleware/
โ โ โ โโโ auth.js # JWT verification
โ โ โ โโโ roleGuard.js # Admin/Ambassador role check
โ โ โโโ services/
โ โ โ โโโ pointsEngine.js
โ โ โ โโโ badgeEngine.js
โ โ โ โโโ driveService.js
โ โ โ โโโ githubAnalyzer.js
โ โ โโโ index.js
โ โโโ .env.example
โ โโโ package.json
โ
โโโ README.md
โโโ LICENSE
| Action | Points |
|---|---|
| Task Completion | As defined per task (10โ500) |
| 7-Day Streak Bonus | +10% of task points |
| First Task Completed | +25 bonus points |
| Referral Converted | +50 points |
| Early Submission (before 50% deadline) | +15 points |
| Badge | Trigger |
|---|---|
| ๐ฅ First Blood | Complete your first task |
| ๐ฅ On Fire | Maintain a 7-day activity streak |
| ๐ Rocketeer | Reach top 3 on leaderboard |
| ๐ฃ Megaphone | Complete 5 social post tasks |
| ๐ค Connector | 3 successful referrals |
| โญ Star Ambassador | Earn all 5 badges above |
POST /api/auth/register Register user (admin/ambassador)
POST /api/auth/login Login โ JWT
POST /api/auth/logout Invalidate session
GET /api/auth/me Get current user
GET /api/tasks List tasks
POST /api/tasks Create task (admin)
PUT /api/tasks/:id Update task (admin)
POST /api/tasks/:id/submit Submit proof (multipart/form-data)
PUT /api/tasks/:id/submissions/:subId Approve/Reject (admin)
GET /api/leaderboard Ranked list (?period=week|month|all)
GET /api/ambassador/:id/points Points history
GET /api/ambassador/:id/badges Earned badges
GET /api/github/analyze?username=torvalds AI profile analysis
GET /api/drive/connect Initiate OAuth flow
GET /api/drive/callback OAuth callback
POST /api/drive/upload Upload proof file โ Drive link
Try the live app without signup:
| Role | Password | |
|---|---|---|
| Admin | demo@campusconnect.app |
Demo@1234 |
| Ambassador | ambassador@campusconnect.app |
Demo@1234 |
| Criterion | Weight | How We Address It |
|---|---|---|
| Impact | 20% | GitHub analyzer gives recruiter-readiness report in < 2 min via Google Gemini AI. Solves real CA fragmentation problem. |
| Innovation | 20% | AI-powered GitHub scoring + auto proof verification via Google Drive API (OAuth 2.0). Unique gamification layer. |
| Technical Execution | 20% | Vercel Serverless architecture with custom MongoDB connection caching to prevent timeouts. JWT + Google/GitHub OAuth. |
| User Experience | 25% | Hosted entirely on Vercel. Responsive Tailwind UI. Seamless OTP and Social Login flow. |
| Presentation | 15% | Screen-recording video embedded above showcasing the complete Ambassador and Admin workflows. |
Point your Vercel project to the /client directory.
- Root Directory:
client - Set env var:
VITE_API_URL=https://campus-connect-blond-one.vercel.app/api
Point your Vercel project to the /server directory.
- Root Directory:
server - We use
vercel.jsonto handle Express routing. - Add all
.envvariables in Vercel dashboard.
This project was built for the AICore Connect Hackathon by UnsaidTalks. If you'd like to extend it:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Hackathon Organizer: UnsaidTalks โ www.unsaidtalks.com WhatsApp: +91-7303573374 Email: info@unsaidtalks.com Submission Portal: Unstop
Built with โค๏ธ for AICore Connect Hackathon by UnsaidTalks
Making community-led marketing structured, scalable, and measurable.