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.
- Host: GitHub
- URL: https://github.com/kadirmetin/locatr
- Owner: kadirmetin
- License: mit
- Created: 2025-06-27T16:36:34.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-01T09:47:42.000Z (12 months ago)
- Last Synced: 2025-07-01T10:40:47.145Z (12 months ago)
- Topics: 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
- Language: TypeScript
- Homepage: https://locatr.tech
- Size: 1.41 MB
- Stars: 13
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# π Locatr: Real-Time Family Location Tracker
**Track your family's location with Locatr**
[](https://locatr.tech)
[](https://github.com/kadirmetin/locatr)
[](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** |
|:---:|:---:|:---:|:---:|:---:|
|
|
|
|
|
|
| *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**
|:---:|:---:|:---:|
|
|
|
| *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
---
Made with β€οΈ for families everywhere
β **Star this repository if you find it helpful!** β
[](https://github.com/kadirmetin/locatr/stargazers)
[](https://github.com/kadirmetin/locatr/network/members)
[](https://github.com/kadirmetin/locatr/watchers)