# đźš— Yoon - Carpooling App for Senegal
**Version**: 1.0.0 (Beta)
**Platform**: React Native (Expo)
**Target**: iOS & Android
---
## 📱 About Yoon
Yoon is a modern carpooling application designed specifically for Senegal, connecting drivers and passengers for safe, affordable, and eco-friendly travel across the country.
### Key Features
âś… **Smart Search** - Find trips with automatic route matching (15km tolerance)
âś… **Automatic Pricing** - Fair, transparent pricing based on real road distances
âś… **Real-time Notifications** - Stay updated on bookings and trip changes
âś… **Secure Authentication** - PIN and biometric authentication
âś… **Trip Management** - Easy booking and trip publishing
âś… **Location Services** - GPS integration with HERE Maps
---
## 🚀 Quick Start
### Prerequisites
- Node.js 18+ and npm
- Expo CLI
- Firebase project with Firestore
- HERE Maps API key
### Installation
```bash
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Edit .env with your API keys
# Start development server
npx expo start
```
### Environment Variables
Create a `.env` file with:
```
EXPO_PUBLIC_HERE_MAPS_API_KEY=your_here_maps_api_key
```
---
## 📦 Project Structure
```
yoon/
├── app/ # Expo Router screens
│ ├── (tabs)/ # Tab navigation screens
│ ├── auth.tsx # Authentication screen
│ ├── pin-entry.tsx # PIN entry screen
│ ├── pin-setup.tsx # PIN setup screen
│ └── trip-details.tsx # Trip details screen
├── components/ # Reusable components
├── config/ # Configuration files
│ ├── firebase.ts # Firebase setup
│ └── notifications.ts # Notification config
├── services/ # Business logic
│ ├── authService.ts # Authentication
│ ├── hereMapsService.ts # HERE Maps integration
│ └── notificationService.ts # Notification management
├── types/ # TypeScript definitions
├── utils/ # Helper funct …