Skip to content

KGupta2601/HackThisFall_InterestFusion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

80 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

## ๐Ÿ‘จโ€๐Ÿ’ป๐Ÿ‘ฉโ€๐Ÿ’ปInterest Fusion

MIT License Issues Pull Requests Last Commit

๐Ÿค Connecting minds, fostering relationships, and building communities through shared interests


๐ŸŒŸ Overview

Interest Fusion is an innovative platform tackling mental health challenges in educational institutions by creating meaningful connections through shared interests. We're revolutionizing how students connect, making social interactions more natural and anxiety-free.

๐Ÿ’ก Why Interest Fusion?
  • ๐ŸŽฏ Targeted Connections: Match with peers sharing your genuine interests
  • ๐Ÿ”’ Privacy First: Your data is shared only with mutual consent
  • ๐ŸŽฎ User-Friendly: Simple, intuitive interface without overwhelming questionnaires
  • ๐Ÿ›ก๏ธ Secure: Robust verification and safety measures
  • ๐Ÿค– Smart Matching: Advanced algorithms using tree data structures

๐Ÿš€ Features

Current Capabilities

  • โœจ Smart Profile Creation

    • Customizable interest tags
    • Authenticated profiles using favorite technique
    • Minimal yet meaningful data collection
  • ๐Ÿค Intelligent Matching

    • Interest-based connection suggestions
    • Privacy-preserved profile viewing
    • Mutual consent-based information sharing
  • ๐Ÿ” Security Measures

    • OTP verification (Vonage API integration)
    • SSN-based user authentication
    • Encrypted data storage

๐Ÿ”ฎ Future Roadmap

  • ๐Ÿ“ˆ Scalability

    • Enhanced database architecture
    • Load balancing implementation
    • Performance optimization
  • ๐Ÿ›ก๏ธ Enhanced Safety

    • AI-powered content moderation
    • Advanced user verification
    • Real-time suspicious activity detection
  • ๐Ÿ’ฌ Communication

    • Secure in-app messaging
    • Interest-based group chats
    • Content filtering system

๐Ÿ› ๏ธ Quick Start

Prerequisites

Node.js >= v14
MongoDB
npm or yarn

Installation

  1. Clone the repository
git clone https://github.com/KGupta2601/HackThisFall_InterestFusion.git
cd HackThisFall_InterestFusion
  1. Environment Setup
cp .env.example .env
# Edit .env with your configurations
  1. Install Dependencies
npm install
  1. Start Development Server
npm run dev
๐Ÿ“ Configuration Options
Variable Description Default
PORT Server port 3000
MONGODB_URI MongoDB connection string mongodb://localhost:27017
JWT_SECRET JWT encryption key -
VONAGE_API_KEY Vonage API key for OTP -

๐Ÿ—๏ธ Architecture

graph TD
    A[Frontend - React] --> B[API Layer]
    B --> C[Authentication]
    B --> D[Interest Matching Engine]
    B --> E[User Management]
    C --> F[MongoDB]
    D --> F
    E --> F
Loading

๐Ÿค Contributing

We welcome contributions! Check out our Contributing Guidelines for details on how to get started.

๐Ÿ‘ฅ Contributors

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ“ž Support


Made with โค๏ธ by the Interest Fusion Team
```

CONTRIBUTING.md:

# ๐Ÿค Contributing to Interest Fusion

First off, thank you for considering contributing to Interest Fusion! It's people like you that make Interest Fusion such a great tool. ๐ŸŒŸ

## ๐Ÿ“‹ Table of Contents

- [Code of Conduct](#code-of-conduct)
- [Getting Started](#getting-started)
- [Development Workflow](#development-workflow)
- [Pull Request Process](#pull-request-process)
- [Style Guidelines](#style-guidelines)
- [Community](#community)

## ๐Ÿ“œ Code of Conduct

We take our open source community seriously and hold ourselves and other contributors to high standards of communication. By participating and contributing to this project, you agree to uphold our [Code of Conduct](CODE_OF_CONDUCT.md).

## ๐Ÿš€ Getting Started

### 1. Fork the Repository
Click the 'Fork' button at the top right of this page.

### 2. Clone Your Fork
```bash
git clone https://github.com/your-username/HackThisFall_InterestFusion.git
cd HackThisFall_InterestFusion

3. Set Up Development Environment

# Add upstream remote
git remote add upstream https://github.com/KGupta2601/HackThisFall_InterestFusion.git

# Install dependencies
npm install

# Create branch for your feature
git checkout -b feature/your-feature-name

๐Ÿ’ป Development Workflow

  1. Pick an Issue

    • Look for issues labeled good first issue or help wanted
    • Comment on the issue to let others know you're working on it
  2. Create a Branch

    git checkout -b feature/issue-number-short-description
  3. Make Changes

    • Write clear, commented code
    • Follow our style guidelines
    • Add tests for new features
  4. Commit Changes

    git add .
    git commit -m "type: brief description
    
    - Detailed description
    - Another point
    
    Closes #123"

    Commit types:

    • feat: New feature
    • fix: Bug fix
    • docs: Documentation
    • style: Formatting
    • refactor: Code restructuring
    • test: Adding tests
    • chore: Maintenance

๐Ÿ”„ Pull Request Process

  1. Update Your Fork

    git fetch upstream
    git rebase upstream/main
  2. Push Changes

    git push origin feature/your-feature-name
  3. Create Pull Request

    • Use our PR template
    • Link related issues
    • Add screenshots if relevant
  4. Code Review

    • Address review comments
    • Keep discussions focused
    • Be patient and respectful

๐ŸŽจ Style Guidelines

Code Style

// Good
function calculateInterestMatch(userInterests, otherInterests) {
  return userInterests.filter(interest => 
    otherInterests.includes(interest)
  ).length;
}

// Bad
function calc(i1, i2) {
  return i1.filter(i => i2.includes(i)).length;
}

Documentation Style

/**
 * Calculates interest match percentage between two users
 * @param {string[]} userInterests - First user's interests
 * @param {string[]} otherInterests - Second user's interests
 * @returns {number} Match percentage from 0 to 100
 */

๐Ÿ‘ฅ Community

๐ŸŽ‰ Recognition

Contributors get:

  • Recognition in our README
  • Contributor badge on our platform
  • Priority access to beta features
  • Invitation to contributor-only events