Skip to content

candelatesla/CMIS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

11 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CMIS Engagement Platform

A full-featured engagement platform for the CMIS program at Texas A&M University, featuring AI-powered student-mentor matching, event management, and automated workflows. Built with Python, Streamlit, MongoDB, and Groq AI.

๐Ÿ† Competition Achievement

2nd Place Overall - 2025 CMIS Case Competition at Texas A&M University

Recognized for:

  • Exceptional technical implementation
  • End-to-end automation
  • AI-powered matching engine
  • Advanced workflow orchestration via N8N
  • Clean UI and robust role-based dashboards

โœจ Features

Admin Dashboard

  • ๐Ÿ‘จโ€๐ŸŽ“ Student Management: Add, edit, and manage student profiles
  • ๐Ÿ‘” Mentor Management: Manage mentor profiles and availability
  • ๐Ÿ“… Event Management: Create and manage events and workshops
  • ๐Ÿ† Case Competitions: Organize and track case competitions
  • ๐Ÿค– AI-Powered Matching: Intelligent student-mentor matching using Groq API
  • ๐Ÿ“ง Email Management: Send emails via N8N webhook with AI-generated content
  • โฐ Task Scheduling: Automated workflows and reminders
  • โšก Instant Demo Mode: Create mentor requests instantly for presentations

Student Dashboard

  • โœ๏ธ Edit complete profile (name, major, UIN, skills, interests, contact)
  • ๐Ÿ“„ Upload and version resumes (automatic version control)
  • ๐Ÿ“… Register for events and create teams
  • ๐Ÿ‘” View assigned mentors after acceptance
  • ๐Ÿ… View team scores after judge evaluations
  • ๐Ÿ“ง Receive automated HTML-formatted emails for mentorship, registration, and scoring

Mentor/Judge Dashboard

  • ๐Ÿ“‹ View pending mentorship requests from AI matching
  • ๐Ÿ‘ค Review student profiles, resumes, skills, and match explanations
  • โœ… Accept or decline mentorship requests
  • ๐Ÿ“Š View assigned events and teams for judging
  • ๐Ÿ’ฏ Enter scores and comments for team evaluations
  • ๐Ÿ“ง Instant email notifications for all actions

๐Ÿ”„ Key Workflows

Mentorship Acceptance Workflow

  1. Admin runs AI matching algorithm
  2. Pending mentorship requests created (supports Instant Mode)
  3. Mentor logs in and views pending requests
  4. Mentor accepts/declines request
  5. Automated emails sent to both student and mentor
  6. Student dashboard updates with mentor details
  7. All updates reflect instantly

Judge Scoring Workflow

  1. Admins assign judges to events
  2. Teams register for events
  3. Admin assigns teams to judges (randomized distribution)
  4. Judges view assigned teams and enter scores (0-100) with comments
  5. Scores saved and students notified via email
  6. Real-time updates across all dashboards

๐Ÿ› ๏ธ Tech Stack

  • Frontend: Streamlit
  • Backend: Python 3.11+
  • Database: MongoDB Atlas (pymongo)
  • AI: Groq API (LLaMA 3.1 / Mixtral models)
  • Email Automation: N8N webhook integration
  • PDF Processing: pdfplumber

๐Ÿ“ Project Structure

CMIS/
โ”œโ”€โ”€ Product-Canvas.pdf          # Product Canvas for the CMIS application - AggieLink
โ”œโ”€โ”€ app.py                      # Main Streamlit application
โ”œโ”€โ”€ config.py                   # Configuration and environment variables
โ”œโ”€โ”€ db.py                       # MongoDB connection utilities
โ”œโ”€โ”€ scheduler.py                # Task scheduling
โ”œโ”€โ”€ requirements.txt            # Python dependencies
โ”œโ”€โ”€ models/                     # Data models
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ students.py
โ”‚   โ”œโ”€โ”€ mentors.py
โ”‚   โ”œโ”€โ”€ events.py
โ”‚   โ”œโ”€โ”€ case_competitions.py
โ”‚   โ”œโ”€โ”€ matches.py
โ”‚   โ””โ”€โ”€ emails.py
โ”œโ”€โ”€ services/                   # Business logic and database operations
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ student_service.py
โ”‚   โ”œโ”€โ”€ mentor_service.py
โ”‚   โ”œโ”€โ”€ event_service.py
โ”‚   โ”œโ”€โ”€ case_comp_service.py
โ”‚   โ”œโ”€โ”€ match_service.py
โ”‚   โ””โ”€โ”€ email_service.py
โ”œโ”€โ”€ ai/                         # AI-powered features
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ matching.py            # Student-mentor matching algorithm
โ”‚   โ”œโ”€โ”€ email_generation.py    # AI email generation
โ”‚   โ””โ”€โ”€ workflow.py            # Automated workflows
โ””โ”€โ”€ utils/                      # Utility functions
    โ”œโ”€โ”€ __init__.py
    โ”œโ”€โ”€ pdf_utils.py           # PDF processing
    โ””โ”€โ”€ time_utils.py          # Time and date utilities

๐Ÿ“Š Data Models

Student

  • Personal info (name, email, UIN, major, graduation year)
  • Skills and interests
  • Career goals
  • Resume versions and LinkedIn profile
  • Team registrations and scores

Mentor

  • Professional info (company, job title, years of experience)
  • Expertise areas and industries
  • Availability and mentoring capacity
  • Judge assignments

Match

  • Student-mentor pairing
  • AI-generated match score (0-100%)
  • Detailed match explanation from Groq AI
  • Status (pending, accepted, active, completed)

Event

  • Event details (title, description, date, location)
  • Registration tracking and team management
  • Judge assignments
  • Capacity management

Team

  • Team name and members
  • Event registration
  • Judge assignments and scores
  • Comments and feedback

๐Ÿค– AI Features

Student-Mentor Matching Algorithm

The hybrid scoring algorithm uses:

  • 40% Interest Alignment: Matching career goals and interests
  • 40% Skills Match: Technical and soft skills compatibility
  • 20% Resume Similarity: NLP-based text analysis

Running AI Matching

Navigate to "Matching" page in the Admin Dashboard, click "Run AI Matching Algorithm", and the system will:

  1. Analyze all students and mentors
  2. Generate match scores with AI explanations
  3. Create pending mentorship requests
  4. Send notification emails automatically

AI Email Generation

  1. Navigate to "Email Management" page
  2. Select recipients and email purpose
  3. Click "Generate with AI"
  4. Review AI-generated HTML email
  5. Send with one click

๐Ÿ”ง Development

Adding New Features

  1. Create data model in models/
  2. Create service class in services/
  3. Add UI components in app.py
  4. Wire up in main navigation

API Usage

Services can be used programmatically:

from services.student_service import StudentService
from ai.matching import MatchingEngine

# Create student
student_service = StudentService()
student = student_service.create_student({
    "name": "John Doe",
    "email": "john@tamu.edu",
    "major": "MIS"
})

# Run AI matching
matching_engine = MatchingEngine()
mentors = mentor_service.get_all_mentors()
matches = matching_engine.find_best_matches(student, mentors, top_k=5)

๐Ÿ”ฎ Future Enhancements

  • User authentication and role-based authorization
  • Bulk import via CSV/Excel for students and mentors
  • Advanced analytics and reporting dashboard
  • Mobile-responsive design improvements
  • Calendar integration for events (Google Calendar, Outlook)
  • Real-time notifications (WebSocket/Server-Sent Events)
  • In-app chat functionality for mentor-student communication
  • Export reports to PDF
  • Integration with university systems (Banner, Canvas)
  • Multi-language support

License / Copyright

ยฉ 2026 Yash Chetan Doshi. All rights reserved.

You may not copy, modify, distribute, or use any part of this repository or its contents without prior written permission from the author.

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

๐Ÿ‘ฅ Team

Developed for the 2025CMIS Case Competition at Texas A&M University. Team Members: Yash Doshi, Khushi Shah, Chintan Shah & Ujjawal Patel

๐Ÿ“ง Support

For issues or questions, open an issue on GitHub or check the documentation links above.

About

A full-featured engagement platform for the CMIS program at Texas A&M University, featuring AI-powered student-mentor matching, event management, and automated workflows.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages