Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/jerry-felipe/real-time-geolocation-api

A backend system for tracking and managing location data in real time. It supports live updates for deliveries or users, integrates with tools like Google Maps API, and optimizes geospatial queries using PostGIS. With caching via Redis and a scalable architecture, it ensures low-latency performance for location-based services.
https://github.com/jerry-felipe/real-time-geolocation-api

ci-cd docker java jwt logging microservices resilience4j scalability spring-boot

Last synced: about 1 month ago
JSON representation

A backend system for tracking and managing location data in real time. It supports live updates for deliveries or users, integrates with tools like Google Maps API, and optimizes geospatial queries using PostGIS. With caching via Redis and a scalable architecture, it ensures low-latency performance for location-based services.

Awesome Lists containing this project

README

        

# Real-Time-Geolocation-API
A backend system for tracking and managing location data in real time. It supports live updates for deliveries or users, integrates with tools like Google Maps API, and optimizes geospatial queries using PostGIS. With caching via Redis and a scalable architecture, it ensures low-latency performance for location-based services.

# Features
- Real-Time Updates: Track users or assets with low latency.
- Geospatial Optimization: Efficient queries using PostGIS or similar tools.
- Google Maps Integration: Enable routing, distance calculation, and mapping.
- Caching: Accelerate performance with Redis.
- Scalability: Handle high traffic with a resilient architecture.

# Technologies Used
- Backend Framework: FastAPI (Python) or similar frameworks like Node.js or Spring Boot.
- Database: PostgreSQL with PostGIS for geospatial data.
- Caching: Redis for optimized query performance.
- Geolocation API: Google Maps API or OpenStreetMap integration.
- Containerization: Docker for easy deployment and scaling.

# Installation
1. Clone the repository:
'''bash
git clone https://github.com/jerry-felipe/realtime-geolocation-api.git
cd realtime-geolocation-api
'''
2. Set up the environment:
- Create a '.env' file with the following variables:
'''env
DATABASE_URL=oracle+cx_oracle://username:password@localhost:1521/xe
REDIS_URL=redis://localhost:6379
GOOGLE_MAPS_API_KEY=your_api_key
'''
3. Run the Docker containers:
'''bash
docker-compose up --build
'''

# Usage
- Start the API server:
'''bash
uvicorn app.main:app --reload
'''
- Access API documentation at:
'''
http://localhost:8000/docs
'''

# Endpoints
| Endpoint | Method | Description |
|------------------------|--------|----------------------------------------|
| '/locations/update' | POST | Update location data in real time. |
| '/locations/track/{id}'| GET | Track a specific user or asset. |
| '/locations/routes' | GET | Calculate optimal routes. |

# Contributing
Contributions are welcome! Please fork the repository and submit a pull request with detailed notes.

# License
This project is licensed under the MIT License.

---
For more information, contact [email protected].