๐ค Connecting minds, fostering relationships, and building communities through shared interests
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
-
โจ 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
-
๐ 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
Node.js >= v14
MongoDB
npm or yarn
- Clone the repository
git clone https://github.com/KGupta2601/HackThisFall_InterestFusion.git
cd HackThisFall_InterestFusion
- Environment Setup
cp .env.example .env
# Edit .env with your configurations
- Install Dependencies
npm install
- 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 | - |
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
We welcome contributions! Check out our Contributing Guidelines for details on how to get started.
This project is licensed under the MIT License - see the LICENSE file for details.
- ๐ง Email: gkashika26@gmail.com
- ๐ฌ Discord Community
- ๐ Documentation
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
# 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
-
Pick an Issue
- Look for issues labeled
good first issue
orhelp wanted
- Comment on the issue to let others know you're working on it
- Look for issues labeled
-
Create a Branch
git checkout -b feature/issue-number-short-description
-
Make Changes
- Write clear, commented code
- Follow our style guidelines
- Add tests for new features
-
Commit Changes
git add . git commit -m "type: brief description - Detailed description - Another point Closes #123"
Commit types:
feat:
New featurefix:
Bug fixdocs:
Documentationstyle:
Formattingrefactor:
Code restructuringtest:
Adding testschore:
Maintenance
-
Update Your Fork
git fetch upstream git rebase upstream/main
-
Push Changes
git push origin feature/your-feature-name
-
Create Pull Request
- Use our PR template
- Link related issues
- Add screenshots if relevant
-
Code Review
- Address review comments
- Keep discussions focused
- Be patient and respectful
// 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;
}
/**
* 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
*/
- Join our [Discord]https://discord.com/channels/1324222094845673503/1324222095340736563
- Follow us on Twitter
- Read our Blog
Contributors get:
- Recognition in our README
- Contributor badge on our platform
- Priority access to beta features
- Invitation to contributor-only events