Welcome to the Ship Routing project! This application leverages both ANN (Artificial Neural Network) and Non-ANN approaches for optimized ship routing, using a combination of a Next.js frontend and a Flask API backend.
- Dynamic ship route optimization using Dijkstra algorithm.
- Integration of ANN for advanced routing under varying conditions.
- Wave data-based path calculations.
- Interactive user interface for route planning.
- Operating System: Windows, macOS, or Linux.
- Python: Version 3.10
- Node.js: Version 18 or above
- npm: Version 8 or above
- pnpm: Version 8 or above
- Download Python 3.10 from the official website.
- Follow the installation instructions for your operating system.
- Ensure
pythonandpipare accessible via the command line:python --version pip --version
- If
python --versiondoes not show 3.10, set Python 3.10 as the default:- Windows:
- Open the Environment Variables settings.
- Add or update the
Pathvariable to include the path to Python 3.10.
- macOS/Linux:
Replace
alias python=/path/to/python3.10/path/to/python3.10with the actual path.
- Windows:
- Download Node.js from the official website.
- Follow the installation instructions for your operating system.
- Verify installation:
node --version npm --version
- Install pnpm globally using npm:
npm install -g pnpm
- Verify installation:
pnpm --version
- Clone the repository to your local machine:
git clone https://github.com/Tokenzrey/ShipRouting.git
- Navigate to the project root:
cd ship-routing
- Download the
region_graph.jsonfile from the following link: Download region_graph.json - Place the file in the
backendfolder:mv region_graph.pkl backend/
- Navigate to the backend folder:
cd backend - Create a Python virtual environment:
python -m venv venv
- Activate the virtual environment:
- Windows:
venv\Scripts\activate
- macOS/Linux:
source venv/bin/activate
- Windows:
- Install required Python packages:
pip install -r requirements.txt
- Run the Flask API:
uvicorn app:app --host 0.0.0.0 --port 5000 --reload
- Navigate to the frontend folder:
cd ../frontend - Install dependencies using pnpm:
pnpm install
- Start the development server:
pnpm dev
- Open your web browser and navigate to:
http://localhost:3000 - The backend API is accessible at:
http://localhost:5000/api
ship-routing/
├── backend/ # Flask API backend
├── frontend/ # Next.js frontend
└── README.md # Project documentation
We welcome contributions to improve the Ship Routing project. Please submit issues or pull requests on the GitHub repository.
This project is licensed under the MIT License. See the LICENSE file for details.
Happy coding! 🚢