Oufoaler is an intelligent route planner for electric vehicle (EV) drivers, helping you plan journeys with optimal charging stops.
- Language: Python 3.10+
- Backend: FastAPI
- Frontend: Leaflet.js, Tailwind CSS
- Geospatial: PyProj, Shapely, GeoPy
- Routing: OpenRouteService
- Data: Pandas, Pydantic
- Tools: Poetry, Taskfile
- Python: 3.10 or higher
- Poetry: For managing dependencies
-
Clone the Repository
git clone <repository-url> cd oufoaler
-
Install Dependencies
poetry install
-
Set Up Environment Variables
Create a
.env
file in the project root:OUFOALER_LOGGING_LEVEL=INFO OUFOALER_OPENROUTESERVICE_API_KEY=your_openrouteservice_api_key OUFOALER_CHARGETRIP_CLIENT_ID=your_chargetrip_client_id OUFOALER_CHARGETRIP_APP_ID=your_chargetrip_app_id
Replace the placeholders with your actual API keys and credentials.
Start the development server with hot-reloading:
task development
Run the app in production mode:
task production
Access the app at http://localhost:8000.
Explore the API using these links:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
Oufoaler can be deployed on:
- Azure Web Apps: Check
main_oufoaler.yml
for settings. - Vercel: See
vercel.json
for configuration.