Skip to main content

Developer Initial Setup

Welcome to FindU! This guide will help you set up your development environment for working with the FindU platform.

Prerequisites

Before you begin, ensure you have the following installed:
  • Git (v2.30+)
  • Node.js (v18+ LTS recommended)
  • Python (3.9-3.11 for matching algorithm)
  • Xcode (for iOS development on macOS)
  • Railway CLI (optional, for deployment)
  • Claude Code (optional, for AI-assisted development)
Pro tip: If you’re on macOS, you can install most prerequisites using Homebrew:
Database Access: You’ll manage the database through the Supabase web dashboard. No CLI tools required!

Getting Started

Since FindU uses multiple repositories, you’ll need to set up each component individually:

1. Create a workspace directory

2. Clone the repositories you need

3. Switch to dev branches

4. Set up each component

Follow the README in each repository for specific setup instructions.

Repository Structure

After cloning, your workspace will look like:
Each repository has its own:
  • README with setup instructions
  • Environment configuration
  • Dependencies and tooling

Environment Configuration

Each repository requires its own environment configuration:

Web App

Create web_app/.env:

iOS App

Create ios_app/Secrets.xcconfig:

Matching Algorithm

Create matching-algorithm/.env:
Never commit environment files to version control! They contain sensitive credentials.

Next Steps

Architecture Overview

Understand how components work together

Database Guide

Learn about the Supabase setup

Workflow Guide

Common development workflows

API Reference

Explore available APIs

Troubleshooting

Common Issues

Make sure you’ve created the .env files in each repository with the correct credentials from your Supabase project.
Verify:
  • Your Supabase project is active
  • Credentials are correct
  • RLS policies allow access
The matching algorithm requires Python 3.9-3.11. Python 3.13 has compatibility issues with some dependencies. Use pyenv to manage Python versions if needed.
Some repositories might not have a dev branch yet. In that case, continue using main or create a dev branch from main.
Use Node.js 18+ LTS for best compatibility with the web app.

Getting Help

  • Slack: Join #dev-help for quick questions
  • GitHub Issues: Report bugs or request features
  • Documentation: You’re already here! 🎉

Ready to start building? Head to the workflow guide to learn common development patterns.