This project aims to develop a web-based itinerary planning system capable of generating optimal travel routes across a simplified flight network. The application will allow users to input a customized set of destinations and will compute the most efficient sequence in which to visit them, based on great circle distance.
To provide a focused and contextually relevant experience, the system will limit all trip origens to three major airports serving the Los Angeles and Orange County regions: Los Angeles International Airport (LAX), Long Beach Airport (LGB), and John Wayne Airport (SNA). By tailoring the platform to these specific departure points, the project aligns the itinerary planner with the travel habits and needs of residents in Southern California, while also narrowing the problem scope to a manageable and well-defined portion of a larger flight network.
# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"
# Download and install Node.js:
nvm install 25
# Verify the Node.js version:
node -v # Should print "v25.2.1".
# Verify npm version:
npm -v # Should print "11.6.2".# Update package list
sudo apt update
# Install Python Prerequisites
sudo apt install -y python3 python3-venv python3-pipOpen a terminal in the project root directory.
cd backendpython3 -m venv venv
source venv/bin/activateWith the virtual environment active, install the Python requirements:
pip install -r requirements.txtfastapi dev api.py cd frontendnpm installnpm run devThe frontend application will typically run at http://localhost:5173 (check the terminal output for the exact URL).
- Install Python
- Go to python.org/downloads and download the latest version.
- Run the installer.
- Check the box that says "Add Python to PATH" at the bottom of the first screen before clicking "Install Now".
- Open a new terminal (PowerShell or Command Prompt) and run:
python --versionIf Windows refuses to install the .msix file, go on the Microsoft store and install
- Python Install Manager
- Python 3.13
- Install Node.js and npm
- Go to the Node.js website and download the LTS version.
- Run the .msi installer and follow the prompts.
- Open a new terminal (PowerShell or Command Prompt) and run:
node -v
npm -vIf npm -v does not work:
Open powershell as administrator and run the command
Set-ExecutionPolicy RemoteSigned- Navigate to the Back End Directory
cd backend- Create and enter a virtual environment
python -m venv venv
.\venv\Scripts\Activate.ps1- Install the dependencies
pip install -r requirements.txt- Move one directory up
cd ..- Run the Back End Server
uvicorn backend.api:app --reload --port 8000Open another terminal
- Navigate to the Front End Directory
cd frontend- Install dependencies:
npm install- Run the server
npm run devThe frontend application will typically run at http://localhost:5173 (check the terminal output for the exact URL).