Skip to content

team-headstart/inpairs-interview

Repository files navigation

Inpairs Interview Challenge

This repository contains an interview challenge for Inpairs. The goal is to implement a matchmaking system using Next.js, TypeScript, and modern React patterns. You will work with mock user profiles, build a compatibility evaluator, and create a matchmaking engine to find the best matches between users.

Challenge Overview

  • Objective: Implement a matchmaking system that processes user profiles and evaluates compatibility using AI-driven logic.
  • Key Tasks:
    • Add or modify user profiles in src/data/mockProfiles.ts
    • Implement the compatibility evaluation logic in src/lib/compatibility.ts
    • Build the matchmaking engine in src/lib/matchmaking.ts to find and display the best matches
    • Display users and their compatibility scores on the main page

Features

  • Matchmaking System: Event-driven profile processing with AI-based compatibility evaluation
  • Modern UI: Built with Shadcn UI components and Tailwind CSS
  • Type Safety: Full TypeScript support

Tech Stack

Frontend (Next.js)

Backend Options

Option 1: TypeScript/Next.js (Default)

Use the existing TypeScript files in src/lib/ for compatibility and matchmaking logic.

Option 2: Python/FastAPI

If you prefer Python, use the provided Python backend:

  1. Navigate to the Python backend directory:
cd python-backend
  1. Install Python dependencies:
pip install -r requirements.txt
  1. Run the Python backend:
python main.py

The Python API will be available at http://localhost:8000

Getting Started

Frontend Setup

  1. Clone the repository
  2. Install dependencies:
npm install
# or
yarn install
# or
pnpm install
  1. Set up your environment variables in the .env file (if needed).

  2. Start the development server:

npm run dev
# or
yarn dev
# or
pnpm dev

Open http://localhost:3000 with your browser to see the application.

Python Backend Setup (Optional)

If using the Python backend option:

  1. Navigate to the Python backend directory:
cd python-backend
  1. Install Python dependencies:
pip install -r requirements.txt
  1. Start the FastAPI server:
python main.py

The API will be available at http://localhost:8000 with interactive docs at http://localhost:8000/docs

Project Structure

Frontend (Next.js/TypeScript)

  • src/app/page.tsx - Main page with instructions and (to be implemented) matchmaking results
  • src/data/mockProfiles.ts - Mock user profiles for testing
  • src/lib/compatibility.ts - Compatibility evaluation logic (to be implemented)
  • src/lib/matchmaking.ts - Matchmaking engine logic (to be implemented)
  • src/components/ui/* - Shadcn UI components

Backend (Python/FastAPI - Optional)

  • python-backend/
    • main.py - FastAPI application entry point
    • requirements.txt - Python dependencies
    • app/ - Application package
      • models/profile.py - Pydantic models for data structures
      • services/compatibility.py - Compatibility evaluation logic
      • services/matchmaking.py - Matchmaking engine logic
      • data/mock_profiles.py - Python version of mock profiles
      • api/routes/profiles.py - API route handlers

Learn More

To learn more about the technologies used in this project:

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform.

Check out the Next.js deployment documentation for more details.

About

Inpairs Interview Challenge

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published