Skip to content

adavyas/mentor-match-launch-78

Repository files navigation

ResearchBridge

ResearchBridge is a platform that connects high-school students with professor-led research opportunities. It helps students find professors whose research interests align with their skills and interests, and enables them to reach out with personalized emails.

🚀 Features

  • AI-Powered Resume Parsing: Extracts skills, interests, and background to find perfect professor matches
  • Professor Matching: Algorithm matches students with professors based on research interests alignment
  • Email Generation: Creates customized outreach emails for professors
  • Dashboard: Tracks matches, emails, and referrals
  • Referral System: Allows users to earn credits by referring friends

🛠️ Tech Stack

  • Frontend: React 18, TypeScript, Tailwind CSS
  • UI Components: shadcn/ui
  • Routing: react-router-dom
  • State Management: Zustand
  • Forms & Validation: react-hook-form + zod
  • Icons: lucide-react
  • Animations: framer-motion

🔧 Setup & Development

  1. Clone the repository
git clone <repository-url>
cd research-bridge
  1. Install dependencies
npm install
  1. Run the development server
npm run dev

🔄 Connecting to a Back-end

The current implementation uses mock data and simulated API calls. To connect to a real back-end:

  1. Resume Parsing API:

    • Replace the useResumeParse hook in src/lib/store.ts with actual API calls to your resume parsing service.
    • Ensure your API returns data in a format compatible with the Resume interface.
  2. User Authentication:

    • Set up Firebase Authentication or your preferred auth service.
    • Replace the mock authentication in the Signup.tsx component with real auth calls.
  3. Professor Database:

    • Replace the mockProfessors array in src/lib/store.ts with API calls to fetch professors from your database.
    • The API should return data compatible with the Professor interface.
  4. Email Generation:

    • Connect the email generation functionality in ProfessorCard.tsx to your actual email generation service.
    • Ensure your API returns email content that can be displayed in the dialog.
  5. Subscription Management:

    • Implement a payment gateway (Stripe, PayPal, etc.) to handle subscription payments.
    • Update the subscription logic in the Pricing.tsx component.

📁 Project Structure

  • /src/components: UI components organized by feature
    • /ui: shadcn UI components
    • /landing: Components for the landing page
    • /dashboard: Components for the dashboard
    • /shared: Shared components (NavBar, Footer, etc.)
  • /src/pages: Page components for each route
  • /src/lib: Shared utility functions and store
  • /src/hooks: Custom React hooks

🧪 Testing

Run tests with:

npm test

📄 License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages