Rida is a personal challenge to simulate a simple scooter sharing system. It tracks trips, locations, and availability of scooters, and lets users find and follow them around the city. It also includes a basic simulation of client behavior to keep things moving. Not a real service, just a fun way to explore ideas.
This repository contains the implementation, installation instructions, deployment and API usage details, as well as relevant technical information.
- Clone the repository:
git clone git@github.com:adrianpk/rida.git cd rida
- Run the application (this will build if needed):
make run
You can build and run the application using Docker Compose:
make run-docker
The following command builds the Docker image, runs the container, and checks the /healthz
endpoint to ensure the service starts correctly:
make test-docker
- GET /api/v1/scooters: Search for scooters by area and status.
- POST /api/v1/events: Report scooter events (start, end, location updates).
- GET /healthz: Health check
Authentication is performed via the X-API-Key
header.
main.go
: Entry point.internal/
: Business logic, simulated client, repo, API.deployment/
: Dockerfile and docker-compose.docs/
: Documentation and requirements.
- Run tests:
make test
- Lint and format:
make check