Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

9 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“ CampusConnect โ€” Automated Campus Ambassador Management Platform

AICore Connect Hackathon | UnsaidTalks | Submission Deadline: 26 April 2026

Live Demo Watch Video GitHub Repo License


๐Ÿ“ฝ๏ธ Demo Video

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

CampusConnect Demo Video

๐Ÿ“ 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.


๐Ÿ“Œ Problem Statement

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.


โœจ Features

For Organizations (Admin)

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

For Campus Ambassadors

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

๐Ÿค– AI-Powered GitHub Profile Analyzer

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

๐Ÿ› ๏ธ Tech Stack

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)

๐Ÿš€ Getting Started

Prerequisites

  • 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)

1. Clone the Repository

git clone https://github.com/Piyusha942007/CampusConnect.git
cd campusconnect

2. Setup Backend

cd server
npm install
cp .env.example .env
# Fill in your .env values (see Environment Variables section below)
npm run dev

3. Setup Frontend

cd client
npm install
cp .env.example .env
# Set VITE_API_URL=http://localhost:5000
npm run dev

4. Open in Browser

Frontend: https://campusconnect-tau-lac.vercel.app/
Backend:  https://campus-connect-blond-one.vercel.app/

๐Ÿ” Environment Variables

Backend /server/.env

# 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:5173

Frontend /client/.env

VITE_API_URL=http://localhost:5000

โ˜๏ธ Google Drive Setup Guide

This is required for proof file uploads to work.

  1. Go to Google Cloud Console
  2. Create a new project โ†’ Enable Google Drive API
  3. Go to APIs & Services โ†’ Credentials โ†’ Create OAuth 2.0 Client ID
  4. Set Authorized redirect URI to: https://campus-connect-blond-one.vercel.app/oauth2callback and https://campus-connect-blond-one.vercel.app/api/auth/google/callback
  5. Copy Client ID and Client Secret into your .env
  6. When Admin registers and connects Drive, they are prompted to authorize โ€” this creates a shared org folder at: CampusConnect/{OrgName}/
  7. All ambassador proof uploads go into: CampusConnect/{OrgName}/{TaskTitle}/{AmbassadorName}_{timestamp}.ext

Demo Google Drive Folder (read-only): Click Here


๐Ÿ“‚ Project Structure

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

๐ŸŽฎ Gamification System

Points

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

Badges

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

๐Ÿ”Œ API Reference

Auth

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

Tasks

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)

Gamification

GET    /api/leaderboard        Ranked list (?period=week|month|all)
GET    /api/ambassador/:id/points    Points history
GET    /api/ambassador/:id/badges    Earned badges

GitHub Analyzer

GET    /api/github/analyze?username=torvalds    AI profile analysis

Google Drive

GET    /api/drive/connect       Initiate OAuth flow
GET    /api/drive/callback      OAuth callback
POST   /api/drive/upload        Upload proof file โ†’ Drive link

๐Ÿงช Demo Credentials

Try the live app without signup:

Role Email Password
Admin demo@campusconnect.app Demo@1234
Ambassador ambassador@campusconnect.app Demo@1234

๐Ÿ† Hackathon Evaluation Alignment

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.

๐Ÿšข Deployment

Frontend (Vercel)

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

Backend (Vercel Serverless)

Point your Vercel project to the /server directory.

  • Root Directory: server
  • We use vercel.json to handle Express routing.
  • Add all .env variables in Vercel dashboard.

๐Ÿค Contributing

This project was built for the AICore Connect Hackathon by UnsaidTalks. If you'd like to extend it:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to branch: git push origin feature/amazing-feature
  5. Open a Pull Request

๐Ÿ“œ License

Distributed under the MIT License. See LICENSE for more information.


๐Ÿ“ž Contact

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.

"# CampusConnect"

About

๐ŸŽ“ The ultimate Campus Ambassador Management Platform. Automate proof-of-work with the Google Drive API, engage students with gamified React dashboards, and discover top talent using Google Gemini AI.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages