An open API service indexing awesome lists of open source software.

https://github.com/kadirmetin/locatr

Real-time family location tracking app with privacy-first approach. Built with React Native, Next.js, and Node.js.
https://github.com/kadirmetin/locatr

expo express family-safety location-tracker mapbox mobile-app mongodb monorepo nextjs privacy-focused react react-native real-time-tracking socket-io typescript web-app

Last synced: 11 months ago
JSON representation

Real-time family location tracking app with privacy-first approach. Built with React Native, Next.js, and Node.js.

Awesome Lists containing this project

README

          

# πŸ“ Locatr: Real-Time Family Location Tracker


Locatr Logo


**Track your family's location with Locatr**

[![Website](https://img.shields.io/badge/Website-locatr.tech-blue?style=for-the-badge)](https://locatr.tech)
[![GitHub](https://img.shields.io/badge/GitHub-Repository-black?style=for-the-badge&logo=github)](https://github.com/kadirmetin/locatr)
[![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)](LICENSE)

---

## 🌟 Overview

Locatr is a modern and secure family location tracking app designed to help families stay connected and ensure the safety of their loved ones. Developed using the latest technology and with a focus on privacy, Locatr offers real-time location sharing features. All of this is brought together in an intuitive and user-friendly interface.

**Key Highlights:**
- πŸ”’ **Privacy-First**: Your family's location data is encrypted and secure
- πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ **Family-Friendly**: Designed specifically for family use cases
- πŸ“± **Cross-Platform**: Available on iOS, Android, and Web
- ⚑ **Real-Time**: Instant location updates
- πŸ‘οΈ **No Data Mining**: We never sell, share, or monetize your personal data

---

## πŸš€ Features

### πŸ“ **Core Location Features**
- **Real-Time Tracking**: Live location sharing with family members
- **Battery Optimization**: Smart location updates to preserve device battery

### 🎨 **User Experience**
- **Intuitive Interface**: Clean, modern design that's easy to navigate
- **Dark Mode**: Full dark mode support for comfortable viewing
- **Accessibility**: Built with accessibility standards in mind
- **Multilingual**: Support for multiple languages and regions

---

## πŸ› οΈ Technology Stack

### **πŸ“± Mobile App (React Native + Expo)**
- **React Native** - Cross-platform mobile development
- **Expo** - Development platform and toolchain
- **TypeScript** - Type-safe development
- **Mapbox** - Advanced mapping functionality

### **🌐 Web Application (Next.js)**
- **Next.js** - React framework with SSR/SSG
- **React** - Latest React with concurrent features
- **TypeScript** - Type-safe development
- **React Query** - Data fetching and caching
- **React Leaflet** - Interactive mapping for web

### **⚑ Backend Server (Node.js + Express)**
- **Node.js** - Server-side JavaScript runtime
- **Express.js** - Fast web application framework
- **TypeScript** - Type-safe backend development
- **MongoDB** - NoSQL database and ODM

### **πŸ”₯ Infrastructure**
- **Imagekit** - Image optimization and delivery
- **Socket.io** - Real-time communication
- **Docker** - Containerization and deployment

### **πŸ’» Development Tools**
- **Monorepo Architecture** - Organized codebase
- **ESLint & Prettier** - Code quality and formatting
- **GitHub Actions** - CI/CD pipeline

---

## πŸš€ Quick Start

### Prerequisites
- **Node.js** (v20 or higher)
- **yarn**
- **Android Stuido and Java SE Development Kit (JDK)** (for mobile development)

### Installation

1. **Clone the repository**
```bash
git clone https://github.com/kadirmetin/locatr.git
cd locatr
```

2. **Install dependencies**
```bash
yarn install
```

3. **Set up environment variables**

4. **Start the development server**
```bash
yarn dev
```

---

## πŸ“± Screenshots

### 🌐 Web Dashboard
*Experience the full power of Locatr on desktop with our comprehensive web interface*



| **🏠 Landing Page** | **πŸ“Š Dashboard** | **πŸ—ΊοΈ Live Map** | **πŸ“± Devices** | **βš™οΈ Settings** |
|:---:|:---:|:---:|:---:|:---:|
| Landing Page | Dashboard Overview | Live Map View | Device Management | Settings Panel |
| *Welcome to Locatr* | *Family overview* | *Real-time tracking* | *Manage devices* | *Customize experience* |

---

### πŸ“± Mobile Application
*Stay connected on-the-go with our intuitive mobile experience*



| **πŸ‘‹ Welcome Screen** | **🏠 Home Dashboard** | **βš™οΈ Settings**
|:---:|:---:|:---:|
| Mobile Welcome Screen | Mobile Home Screen | Mobile Settings
| *Get started with Locatr* | *Track your family members* | *Customize experience* |

---

## πŸ”§ Configuration

### Environment Variables

Create a `.env` file in the root directory of each application:

```env
# Mobile
EXPO_NO_METRO_WORKSPACE_ROOT=true
EXPO_PUBLIC_API_BASE_URL="http://localhost:8000/api/v1"
EXPO_PUBLIC_SOCKET_BASE_URL="http://localhost:8000"
EXPO_PUBLIC_WEB_APP_URL="http://localhost:3000"
MAPBOX_READ_DOWNLOAD_TOKEN=""
EXPO_PUBLIC_MAPBOX_ACCESS_TOKEN=""

# Server
APP_ORIGIN="http://localhost:3000"
SERVER_PORT=5000
BASE_PATH="/api/v1"
MONGO_URI=""
JWT_SECRET=""
JWT_EXPIRES_IN="15m"
JWT_REFRESH_SECRET=""
JWT_REFRESH_EXPIRES_IN="7d"
RESEND_API_KEY=""
RESEND_MAILER_SENDER=""
IMAGEKIT_PUBLIC_KEY=""
IMAGEKIT_URL_ENDPOINT=""
IMAGEKIT_PRIVATE_KEY=""
ADMIN_EMAIL=""

# Web
NEXT_PUBLIC_WEB_APP_URL="http://localhost:3000"
NEXT_PUBLIC_API_BASE_URL="http://localhost:5000/api/v1"
NEXT_PUBLIC_SOCKET_BASE_URL="http://localhost:5000"
NEXT_PUBLIC_CAPTCHA_SITE_KEY=""
CAPTCHA_SECRET_KEY=""
NEXT_PUBLIC_IMAGEKIT_URL_ENDPOINT=""
NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN=""
NEXT_PUBLIC_GA_ID=""
NEXT_PUBLIC_GTM_ID=""
NEXT_PUBLIC_C15T_URL=""

```
---

## πŸš€ Deployment

### Production Build
```bash
# Build all applications
yarn build

# Build specific app
cd apps/mobile && eas build --platform android --profile production
cd apps/web && yarn build
cd apps/server && yarn build
```
---

## πŸ“‹ Roadmap

### 🎯 **Version 2.0** (Q4 2025)
- [ ] **Advanced Analytics**: Location patterns and insights
- [ ] **...and more to be added!**

---

## 🀝 Contributing

We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.

### How to Contribute

1. **Fork the repository**
2. **Create a feature branch**
```bash
git checkout -b feature/amazing-feature
```
3. **Make your changes**
4. **Test your changes**
5. **Commit your changes**
```bash
yarn commit
```
6. **Push to your branch**
```bash
git push origin feature/amazing-feature
```
7. **Open a Pull Request**

### Development Guidelines

- **Code Style**: Follow ESLint and Prettier configurations
- **Testing**: Make sure all changes work
- **Commit Messages**: Use conventional commit format

### Bug Reports & Feature Requests

- **πŸ› [Report a Bug](https://github.com/kadirmetin/locatr/issues/new)**
- **✨ [Request a Feature](https://github.com/kadirmetin/locatr/issues/new)**

---

## πŸ”’ Privacy & Security

Locatr takes privacy and security seriously:

- **🎯 Minimal Data Collection**: We only collect data necessary for core functionality
- **πŸ‘€ User Control**: Users have full control over their data and sharing preferences
- **πŸ›‘οΈ Regular Security Audits**: Regular third-party security assessments
- **πŸ“œ Transparent Privacy Policy**: Clear and comprehensive privacy policy

For more details, read our [Privacy Policy](https://locatr.tech/privacy) and [Terms of Service](https://locatr.tech/terms).

---

## πŸ“ž Support & Community

### Getting Help

- **πŸ“§ [Email Support](mailto:support@locatr.tech)** - Direct support for urgent issues
- **πŸ› [GitHub Issues](https://github.com/kadirmetin/locatr/issues)** - Report bugs and request features

---

## πŸ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

---

## πŸ™ Acknowledgments

### Special Thanks

- **Open Source Community**: For the incredible tools and libraries that make this possible
- **Family & Friends**: For inspiration and continuous support

### Built With Love By



Kadir Metin



Kadir Metin


Full Stack Developer


Website β€’
GitHub β€’
LinkedIn

---


Made with ❀️ for families everywhere




⭐ **Star this repository if you find it helpful!** ⭐




[![GitHub Stars](https://img.shields.io/github/stars/kadirmetin/locatr?style=social)](https://github.com/kadirmetin/locatr/stargazers)
[![GitHub Forks](https://img.shields.io/github/forks/kadirmetin/locatr?style=social)](https://github.com/kadirmetin/locatr/network/members)
[![GitHub Watchers](https://img.shields.io/github/watchers/kadirmetin/locatr?style=social)](https://github.com/kadirmetin/locatr/watchers)