# ⚡ Volty - EV Charging Tunisia
A community-driven platform for finding and sharing electric vehicle charging stations across Tunisia. Built with FastAPI and Streamlit.
## Features
### For EV Drivers
- **Find Charging Stations** - Search by location, connector type, and status
- **Interactive Maps** - View stations on an interactive map with real-time status
- **Favorites** - Save your frequently used charging stations
- **Trip Planning** - Plan routes with automatic charging stop recommendations
- **Statistics** - Track your trips, distance traveled, and CO₂ saved
### Community Features
- **Reviews & Ratings** - Share your experience with other EV drivers
- **Status Reports** - Report if a charger is working, broken, or occupied
- **Collaborative Data** - Community-driven status updates
### Technical Features
- **Secure Authentication** - JWT-based user authentication
- **Fast API** - Built with FastAPI for high performance
- **Docker Ready** - Easy deployment with Docker Compose
- **Responsive UI**
## Prerequisites
- Python 3.11+
- Docker & Docker Compose
- API Keys:
- OpenChargeMap API Key (Get it here)
- OpenRouteService API Key (Get it here)
## Quick Start
### Option 1: Docker (Recommended)
1. **Clone the repository**
```bash
git clone
github.com
cd ev-charging-tunisia
```
2. **Create environment file**
```bash
cp .env.example .env
```
Edit `.env` and add your API keys:
```env
DATABASE_URL=sqlite:////app/ev_charging.db
SECRET_KEY=your-super-secret-key-here
OPENCHARGEMAP_API_KEY=your-openchargemap-key
OPENROUTESERVICE_API_KEY=your-openrouteservice-key
```
3. **Run with Docker Compose**
```bash
docker-compose up -d
```
4. **Access the application**
- API:
localhost
- API Docs:
localhost
- Frontend: Run `streamlit run streamlit_app.py`
### Option 2: Manual Setup
1. **Create virtual environment**
```bash
python -m venv venv
source venv/bin/activate # On Windows: ven …