sjdonado / openchargemap-sync

GraphQL + MongoDB + RabbitMQ + Docker - no frameworks :)
0 stars 0 forks source link

Feat/#1 pulling current charging station data #6

Closed sjdonado closed 1 year ago

sjdonado commented 1 year ago

Summary

  1. Pull the data in small chunks per countries + data providers.
  2. Store the data in the DB: POI list.
  3. Local setup with docker-compose: MongoDB + RabbitMQ.
  4. Unit + integration test

Diff is very large, in a different scenario (with more time) I would prefer to split this PR into subtasks. There is still an open TODO, which is the retry mechanism after a message is nack.

For manual testing:

curl -X GET http://localhost:3000/run

This server is intended to emulate a lambda function, where a cronjob sends a request to /run every x time. The /health endpoint is up or Kubernetes checks.

It was developed with a minimal libraries config, no frameworks for the routing logic. Dependencies in prod:

  "amqplib": "^0.10.3",
  "axios": "^1.4.0",
  "dotenv": "^16.3.1",
  "mongodb": "^5.7.0",
  "uuid-mongodb": "^2.5.4"

closes #1