Hysen Labs
Open-source project
openchargemap/ocm-system avatar
openchargemap

ocm-system

Open Charge Map is the global public registry of electric vehicle charging locations. Established 2011. Help wanted.

146 stars41 forksC#MIT
DEEP OPEN-SOURCE ANALYSIS

Open Charge Map runs the backend for a global EV charging registry

Open Charge Map is a crowdsourced global registry of electric vehicle charging locations, and this repository holds its API, website and import backend.

The project and its data

Open Charge Map, often abbreviated OCM, is described in the README as the global public registry of electric vehicle charging locations. The project was first established in 2011 and aims to crowdsource a high quality, well maintained open data set with the greatest breadth possible. The data set mixes manually entered information with imported open data sources, such as government run registries and charging networks that publish under an open data license. The README says OCM provides data to drivers through hundreds of apps and sites, and also to researchers, EV market analysts, and government policy makers. This repository holds the backend systems: the API, the website, and the server side import processing. The server side code is developed mostly in C#, builds under Visual Studio 2022 Community Edition or higher with .Net 6, and stores data primarily in SQL Server using Entity Framework Core, with an additional caching layer using MongoDB. Most API reads are served by the MongoDB cache, which keeps the SQL database load down. The README presents the data set as a public resource maintained by a mixture of volunteers and imported official sources rather than by a single operator. The dataset is presented as a public resource maintained by a mix of volunteers and imported official sources rather than by a single operating company.

How to build and run locally

The README lists basic prerequisites: the .Net 10.x SDK on Windows or Linux, SQL Server Express, and MongoDB. Local setup restores a SQL database clone from a referenced clone repository, then runs the OCM.Web project and creates a user account, after which the administrator permission field in the User table is set so the account can manage the system. Once the admin menu appears in the web interface, the dashboard offers a cache status check and a refresh action that rebuilds the local MongoDB cache. The README advises periodically running a refresh of modified entries so the cache does not become stale, otherwise the SQL database is used for queries. Deployment configures MongoDB as a service, initializes an ocm_mirror database, enables read and write for the app pool user on temp folders, and sets web.config. Updates use a refresh script that rebuilds the latest Docker images and pushes them to the deployment registry, then a compose pull and up on the target host. These steps show the system is a conventional web backend with a relational store and a document cache in front of it for read speed. These steps show the system is a conventional web backend with a relational store and a document cache in front of it for read speed.

Contributing to the data and the code

The README invites contribution in several forms. Anyone can improve the data by submitting comments, checkins and photos through the website, submitting new data, or becoming an editor for a country. Growing the user base through advocacy is also welcomed. For the system itself, the README asks for help translating the app into other languages, writing documentation, working on the web app in HTML, CSS and JavaScript, developing the website in MVC, building a map widget for embedding, writing sample code for developers, doing graphic design, and testing. The map application source is kept in a separate repository and built with Ionic, Angular and TypeScript. Developers can use the API to access the data set and build their own apps, and the README links to an apps page and a develop page for that purpose. The tone of the contribution section is broad, welcoming both non technical data contributors and engineers, which fits a project whose value depends as much on the dataset as on the code. The split between data contribution through the site and code contribution through GitHub keeps the two audiences separate but connected. The split between data contribution through the site and code contribution through GitHub keeps the two audiences separate but still connected.

Scope and licensing

The backend in this repository is the server side of a larger open data effort, and the README is clear that the map app lives elsewhere while this repo covers API, website and import processing. The data model and the public API are the parts most likely to interest outside developers, since the README points them to the API documentation for access. The project longevity is notable: established in 2011, it has spent years gathering charging location data from many countries. The license for the code in this repository is MIT, which permits reuse and modification. For a reader scanning GitHub projects, OCM represents a long running civic data infrastructure rather than a single application, with the codebase here being the machinery that serves the registry to hundreds of downstream apps. The contribution model, mixing crowdsourced entries with official imports, is what gives the registry its breadth, and the API is the channel through which that breadth reaches drivers and analysts alike. The repository is published under the MIT license and its most recent commit was on 2026-08-26. The contribution model, mixing crowdsourced entries with official imports, is what gives the registry its breadth across many countries, a reach the project has built up over the years.

Editorial conclusion

Open Charge Map is a crowdsourced registry of EV charging locations established in 2011, and this backend repository is published under the MIT license with its most recent commit on 2026-08-26.

DEEP OPEN-SOURCE ANALYSIS

Official sources

Community notes

Community notes