Skip to content

DORI2001/Pollarsteps

Repository files navigation

🗺️ Pollarsteps

Track your travels on an interactive map | Add locations as you go, attach photos, get AI-powered recommendations, and share your trips with friends

FastAPI Next.js TypeScript


📸 Screenshots

Sign In Sign Up
Sign In Sign Up
Map View Create Trip
Map Create Trip

✨ Features

🗺️ Interactive Map Click anywhere to add a location and visualize your route
✈️ Trip Management Create, edit, and share trips — map flies to the right location automatically
📍 Location Steps Add notes and photos at each stop — location auto-detected via reverse geocoding
🤖 AI Recommendations Suggestions for restaurants, activities, and attractions
📖 Stories & Reels Turn trips into shareable slideshows with music
📊 Analytics Distance traveled, days per destination, trip stats (collapsible detail view)
🔒 Security JWT auth, rate limiting on auth endpoints, security headers

🚀 Getting Started

Prerequisites

  • Python 3.9+
  • Node.js 18+

1 — Install dependencies

# Backend
cd backend_app
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

# Frontend
cd ../frontend && npm install

2 — Configure environment

cp backend_app/.env.example backend_app/.env
cp frontend/.env.example frontend/.env.local
File Variable Notes
backend_app/.env JWT_SECRET_KEY Generate: python -c "import secrets; print(secrets.token_urlsafe(64))"
backend_app/.env DATABASE_URL SQLite (default) or postgresql+asyncpg://... for production
backend_app/.env GEMINI_API_KEY AI recommendations (optional)
frontend/.env.local NEXT_PUBLIC_API_BASE Backend URL, e.g. http://localhost:8000/api
frontend/.env.local NEXT_PUBLIC_MAPBOX_TOKEN Satellite map tiles (optional)

3 — Run

# Terminal 1 — Backend
cd backend_app
PYTHONPATH=. uvicorn app.main:app --reload --host 127.0.0.1 --port 8000

# Terminal 2 — Frontend
cd frontend && npm run dev

🌐 App: http://localhost:3000 · API Docs: http://127.0.0.1:8000/docs


🛠️ Tech Stack

Layer Technologies
Backend FastAPI · SQLite · SQLAlchemy (async) · Pydantic v2 · JWT
Frontend Next.js 14 · TypeScript · Tailwind CSS · Leaflet
AI Gemini API — recommendations & journal entries
DevOps Docker · Docker Compose

📁 Project Structure

Pollarsteps/
├── backend_app/          # FastAPI backend
│   └── app/
│       ├── api/          # Route handlers
│       ├── models/       # SQLAlchemy ORM models
│       ├── schemas/      # Pydantic validation
│       ├── services/     # Business logic
│       └── core/         # DB, auth, config
├── frontend/             # Next.js 14 frontend
│   ├── app/              # Pages
│   ├── components/       # React components
│   └── lib/              # API client & utilities
├── services/
│   └── travel_intelligence/  # Analytics microservice
├── tests/                # Integration tests
├── docs/                 # Architecture & API reference
└── scripts/              # Dev helper scripts

📜 Scripts

bash scripts/setup.sh    # First-time setup
bash scripts/dev.sh      # Start both servers
bash scripts/test.sh     # Run tests
bash scripts/clean.sh    # Clean build artifacts

📚 Docs


· Built with ❤️ by Dori

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors