Skip to content

olibreadstick/UniLinks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

40 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

UniConnex Logo

UniConnex (UniLinks)

A vibrant student networking platform featuring AI-powered social coaching, swiping discovery for events and partners, and intelligent campus recommendations.


๐ŸŽฏ Overview

UniLinks

UniConnex is a comprehensive student networking platform designed specifically for university students to connect, collaborate, and grow their social and professional networks. Built with AI-powered features, UniConnex helps students discover events, find collaboration partners, join clubs, and improve their social skills through interactive AI coaching.

โœจ Key Features

๐Ÿ” Discovery Swipe

  • Tinder-style interface for discovering campus opportunities
  • Swipe through collaboration requests, events, clubs, and networking opportunities
  • AI-powered match recommendations based on your interests and academic profile
  • Filter by categories: Collaboration Requests, Clubs & Orgs, Events & Parties, Networking
  • Create your own collaboration requests, events, and networking posts

๐Ÿค– AI Social Coach

  • Live roleplay practice with AI personas for real-world scenarios
  • Get personalized icebreaker suggestions for different social situations
  • Practice interviews, networking mixers, hackathons, and study groups
  • Receive comprehensive feedback on your:
    • Content quality and appropriateness
    • Delivery and confidence
    • Body language and presence
    • Voice tone and pacing
  • Adjustable tone settings (pressure, niceness, formality)
  • Real-time reply suggestions during practice sessions

๐Ÿ“š McGill Course Browser

  • Browse courses by faculty (Science, Arts, Engineering, Management)
  • View detailed course information
  • Find collaboration partners for specific courses
  • Integrated with the discovery feed

๐Ÿ“… Calendar Integration

  • Track hearted events and collaboration requests
  • Never miss important campus opportunities
  • Visual calendar view of all your interests

๐Ÿ‘ค Rich User Profiles

  • Customizable avatars
  • Academic information (major, GPA, skills, interests)
  • Experience and bio sections
  • Multi-account support for testing and privacy

๐Ÿš€ Getting Started

Prerequisites

  • Node.js (v16 or higher recommended)
  • npm or yarn
  • A Gemini API key from Google AI Studio

Installation

  1. Clone the repository

    git clone https://github.com/olibreadstick/UniLinks.git
    cd UniLinks
  2. Install dependencies

    npm install
  3. Set up environment variables

    Create a .env.local file in the root directory:

    GEMINI_API_KEY=your_gemini_api_key_here

    Replace your_gemini_api_key_here with your actual Gemini API key from Google AI Studio.

  4. Run the development server

    npm run dev
  5. Open your browser

    Navigate to http://localhost:3000 (or the port shown in your terminal)


๐Ÿ› ๏ธ Technology Stack

  • Frontend Framework: React 19 with TypeScript
  • Build Tool: Vite
  • AI Integration: Google Gemini AI (gemini-3-flash-preview)
  • Styling: Custom CSS with modern UI components
  • State Management: React Hooks (useState, useEffect)
  • Storage: Browser LocalStorage for data persistence

๐Ÿ“ Project Structure

UniLinks/
โ”œโ”€โ”€ components/           # React components
โ”‚   โ”œโ”€โ”€ AICoach.tsx      # AI social coaching interface
โ”‚   โ”œโ”€โ”€ DiscoverySwipe.tsx # Swipe interface for discoveries
โ”‚   โ”œโ”€โ”€ Navigation.tsx    # Bottom navigation bar
โ”‚   โ”œโ”€โ”€ Onboarding.tsx   # User onboarding flow
โ”‚   โ”œโ”€โ”€ Welcome.tsx      # Welcome screen
โ”‚   โ”œโ”€โ”€ McGillCourses.tsx # Course browser
โ”‚   โ””โ”€โ”€ Calendar.tsx     # Calendar view
โ”œโ”€โ”€ services/
โ”‚   โ””โ”€โ”€ gemini.ts        # Gemini AI API integration
โ”œโ”€โ”€ App.tsx              # Main application component
โ”œโ”€โ”€ types.ts             # TypeScript type definitions
โ”œโ”€โ”€ index.tsx            # Application entry point
โ”œโ”€โ”€ metadata.json        # App metadata
โ”œโ”€โ”€ package.json         # Dependencies and scripts
โ”œโ”€โ”€ tsconfig.json        # TypeScript configuration
โ”œโ”€โ”€ vite.config.ts       # Vite configuration
โ””โ”€โ”€ README.md           # This file

๐ŸŽฎ Usage Guide

First Time Setup

  1. Create Your Profile

    • Enter your name, major, and interests
    • Add skills and experiences
    • Upload a profile picture (optional)
  2. Explore the Discovery Feed

    • Swipe right (โค๏ธ) on opportunities you like
    • Swipe left (โœ—) to pass
    • Click on cards to view more details
  3. Try the AI Coach

    • Select a scenario (hackathon, interview, networking, etc.)
    • Choose a practice mode (coach tips or live roleplay)
    • Get personalized icebreakers and conversation starters
    • Practice with AI personas and receive detailed feedback
  4. Browse Courses

    • Navigate to the McGill Courses tab
    • Select your faculty
    • View courses and find collaboration opportunities
  5. Check Your Calendar

    • View all hearted events and collaboration requests
    • Plan your campus engagement

Creating Collaboration Requests

  1. Navigate to the Discovery tab
  2. Click "Create New"
  3. Select the type (Collaboration Request, Event, Club, Networking)
  4. Fill in details:
    • Title and description
    • Target group size (for collaborations)
    • Tags and categories
    • Event date/time (for events)
  5. Submit to make it discoverable by other students

๐Ÿค Contributing

We welcome contributions! Here's how you can help:

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

Development Guidelines

  • Follow the existing code style and TypeScript patterns
  • Test your changes thoroughly
  • Update documentation as needed
  • Keep commits focused and descriptive

๐Ÿ”‘ API Configuration

The app uses the Google Gemini AI API for intelligent features. The following functions require API access:

  • Recommendations: Personalized event and club suggestions
  • Match Reasons: Explaining why items match your interests
  • Icebreakers: Context-specific conversation starters
  • Roleplay Practice: AI personas for social skill development
  • Feedback Analysis: Comprehensive communication coaching

Note: The app includes fallback responses when the API quota is exceeded, ensuring a smooth experience even without active API calls.


๐Ÿ“ฑ Features in Detail

AI Coach Modes

  1. Coach Mode: Get tips, icebreakers, and suggestions for scenarios
  2. Roleplay Mode: Practice live with AI personas who simulate real people you'd meet
  3. Feedback Analysis: Receive detailed scores and actionable improvement suggestions

Discovery Types

  • Collaboration Requests: Find partners for projects, labs, or study groups
  • Events: Hackathons, frosh week, campus parties, and social gatherings
  • Clubs & Organizations: Discover student groups aligned with your interests
  • Networking: Internship opportunities, career fairs, and professional events

Smart Filtering

  • Filter by category and subcategory
  • AI-powered relevance matching
  • Interest-based recommendations
  • Faculty-specific content

๐Ÿ—๏ธ Building for Production

npm run build

This creates an optimized production build in the dist/ directory.

To preview the production build:

npm run preview

๐Ÿ“„ License

This project was created for educational purposes. Please refer to the repository for license information.


๐Ÿ‘ฅ Team & Credits

Built with โค๏ธ for university students looking to make meaningful connections on campus.

Powered by:

  • React & TypeScript
  • Google Gemini AI
  • Vite

๐Ÿ“ž Support & Links


Made for students, by students ๐ŸŽ“

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors