Third Eye is a Next.js application that allows users to track and share their location using the OwnTracks mobile app. It provides real-time location tracking, journey history, and friend-based location sharing.
- 🔐 Authentication: Secure user authentication with Supabase
- 📍 Real-time Location Tracking: Track your location in real-time using OwnTracks
- 🗺️ Interactive Maps: View your location history on an interactive map
- 🚶 Journey History: Track and view your journey history with statistics
- 👥 Friend Management: Add friends and share your location with them
- 🔒 Privacy Controls: Control who can see your location and journey history
- 📱 Mobile Integration: Seamless integration with OwnTracks mobile app
- Framework: Next.js 14+ (App Router)
- Language: TypeScript
- Database: Supabase (PostgreSQL)
- Authentication: Supabase Auth
- UI Components: shadcn/ui
- Styling: Tailwind CSS
- Maps: Leaflet / React Leaflet
- Forms: React Hook Form + Zod
- Node.js 18+ and npm/yarn
- A Supabase account
- OwnTracks mobile app (iOS/Android)
- Clone the repository:
git clone <repository-url>
cd third-eye- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env.local- Configure your
.env.localfile with your Supabase credentials and OwnTracks API key:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
NEXT_PUBLIC_APP_URL=http://localhost:3000
OWNTRACKS_API_KEY=your_owntracks_api_key
-
Set up the database (see SUPABASE_SETUP.md)
-
Run the development server:
npm run dev- Open http://localhost:3000 in your browser
- Complete Setup Guide - Full setup instructions
- Supabase Setup - Database schema and configuration
- OwnTracks Setup - Mobile app configuration
- API Documentation - API endpoint reference
third-eye/
├── app/ # Next.js app directory
│ ├── (auth)/ # Authentication pages
│ ├── (dashboard)/ # Dashboard pages
│ └── api/ # API routes
├── components/ # React components
│ ├── auth/ # Authentication components
│ ├── dashboard/ # Dashboard components
│ ├── map/ # Map components
│ ├── journeys/ # Journey components
│ ├── friends/ # Friend management components
│ ├── settings/ # Settings components
│ └── ui/ # shadcn/ui components
├── lib/ # Utility libraries
│ ├── supabase/ # Supabase clients
│ ├── types/ # TypeScript types
│ └── utils/ # Utility functions
└── docs/ # Documentation
Contributions are welcome! Please feel free to submit a Pull Request.
MIT