ocm-system

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

https://github.com/openchargemap/ocm-system

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.4%) to scientific vocabulary

Keywords from Contributors

projection interactive serializer cycles packaging charts network-simulation archival shellcodes hacking
Last synced: 6 months ago · JSON representation

Repository

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

Basic Info
  • Host: GitHub
  • Owner: openchargemap
  • License: mit
  • Language: C#
  • Default Branch: master
  • Homepage: https://openchargemap.org
  • Size: 44 MB
Statistics
  • Stars: 125
  • Watchers: 17
  • Forks: 37
  • Open Issues: 43
  • Releases: 0
Created over 12 years ago · Last pushed 8 months ago
Metadata Files
Readme Funding License Code of conduct

README.md

Open Charge Map (OCM)

About the project

Open Charge Map is the global public registry of electric vehicle charging locations. OCM was first established in 2011 and aims to crowdsource a high quality, well maintained open data set with the greatest breadth possible. Our data set is a mixture of manually entered information and imported open data sources (such as government-run registries and charging networks with an open data license). OCM provides data to drivers (via hundreds of apps and sites), as well to researchers, EV market analysts, and government policy makers.

The code in this repository represents the backend systems (API, Web Site and server-side import processing) for the project. Server-side code is developed mostly in C#, currently building under Visual Studio 2022 Community Edition (or higher) with .Net 6, Data is primarily stored in SQL Server, using Entity Framework Core, with an additional caching layer using MongoDB. Most API reads are services by the MongoDB cache.

Developers can use our API to access the data set and build their own apps. The map app source (using latest Ionic/Angular/TypeScript) can be found in its own repo at https://github.com/openchargemap/ocm-app

Basic build/dev prerequisites

  • dotnet 6.x sdk (windows/linux)
  • SQL Server Express
  • MongoDB 5.x

Local Dev Setup

  • Restore SQL database clone https://github.com/openchargemap/ocm-docs/tree/master/Database/Clone
  • Run OCM.Web (main website) project and create a user acccount, in User table set Permissions field for your account to administrator: {"Permissions":[{"Level":100},{"Level":1000}],"LegacyPermissions":"[CountryLevel_Editor=All];[Administrator=true];"}
  • Once you have the Admin menu in the web ui, Admin > Dashboard > Check POI Cache Status > Refresh Cache (All) to rebuild local MongoDB cache. Peridocially run Refresh Cache (Modified) to ensure cache does not become stale (otherwise the SQL database will be used for queries).

Deployment

  • Configure MongoDB as services and initialise ocm_mirror database
  • Enable read/write for app pool user for \Temp folders
  • Configure web.config

To run an API mirror, see the OCM.API.Worker readme.

Contributing

Please contribute in any way you can: - Improve the data (anyone can do this): - Submit comments, checkins, and photos via the website - Submit new data, become an editor for your country - Grow the user base - Advocacy, tell people about Open Charge Map and help them use it. - Improve the system: - Help translate the app into other languages see https://github.com/openchargemap/ocm-app/issues/35 - Help write documentation - Web App (HTML/CSS/JavaScript) - Website development (MVC) - Map widget for embedding - Sample Code for developers - Graphic Design - Testing

Owner

  • Name: Open Charge Map
  • Login: openchargemap
  • Kind: organization

Open Charge Map is the global Open Data registry of electric vehicle charging locations.

GitHub Events

Total
  • Issues event: 7
  • Watch event: 19
  • Issue comment event: 15
  • Push event: 12
  • Fork event: 2
Last Year
  • Issues event: 7
  • Watch event: 19
  • Issue comment event: 15
  • Push event: 12
  • Fork event: 2

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 985
  • Total Committers: 12
  • Avg Commits per committer: 82.083
  • Development Distribution Score (DDS): 0.048
Past Year
  • Commits: 18
  • Committers: 1
  • Avg Commits per committer: 18.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
webprofusion-chrisc c****k@w****m 938
zymurgic s****n@z****g 8
eho e****t@g****m 7
Christopher Cook (Phobos) c****r@p****u 7
johan12345 j****r@g****m 6
solarpete p****k@g****m 4
dependabot[bot] 4****] 4
cybersol795 4****5 4
Remus Lazar rl@c****u 3
PuneetJain j****6@g****m 2
mrw298 m****s@g****m 1
iboboc i****c@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 171
  • Total pull requests: 61
  • Average time to close issues: about 2 years
  • Average time to close pull requests: 7 months
  • Total issue authors: 56
  • Total pull request authors: 12
  • Average comments per issue: 2.4
  • Average comments per pull request: 1.66
  • Merged pull requests: 28
  • Bot issues: 0
  • Bot pull requests: 29
Past Year
  • Issues: 5
  • Pull requests: 0
  • Average time to close issues: 1 day
  • Average time to close pull requests: N/A
  • Issue authors: 5
  • Pull request authors: 0
  • Average comments per issue: 3.8
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • solarpete (41)
  • webprofusion-chrisc (37)
  • zymurgic (17)
  • Leftaf (7)
  • tdilo (5)
  • gaddman (4)
  • stanvass (3)
  • jumpjack (2)
  • openui54u (2)
  • remuslazar (2)
  • baryluk (2)
  • hchalkley (2)
  • Felger (2)
  • Darulin (1)
  • FbPalmabit (1)
Pull Request Authors
  • dependabot[bot] (29)
  • zymurgic (9)
  • solarpete (7)
  • ardevd (4)
  • remuslazar (3)
  • BarnacleJones (2)
  • johan12345 (2)
  • webprofusion-chrisc (2)
  • iboboc (1)
  • cybersol795 (1)
  • jainpuneet86 (1)
  • mrw298 (1)
Top Labels
Issue Labels
enhancement (72) OCM Website (43) translation (32) help wanted (29) OCM App (23) OCM API (13) bug (12) OCM Data Imports (5) Discussion (3) question (2) OCM Map Widget (1)
Pull Request Labels
dependencies (29) .NET (3) javascript (2)

Dependencies

App/package-lock.json npm
  • 240 dependencies
App/package.json npm
  • http-server ^0.8.0 development
  • jake 8.0.15 development
  • typedoc ^0.3.4 development
  • typescript ^2.3.0 development
  • uglify-js * development
  • wrench * development
  • moment *
  • node-sass ^4.12.0
API/OCM.Net/OCM.API.Client/OCM.API.Client.csproj nuget
  • Microsoft.Extensions.Logging.Abstractions 6.0.1
  • Newtonsoft.Json 13.0.1
API/OCM.Net/OCM.API.Core/OCM.API.Core.csproj nuget
  • Microsoft.EntityFrameworkCore.Tools 6.0.7 development
  • AWSSDK.S3 3.7.9.32
  • CompareNETObjects 4.77.0
  • GeoCoordinate.NetStandard1 1.0.1
  • Microsoft.EntityFrameworkCore.Proxies 6.0.7
  • Microsoft.EntityFrameworkCore.SqlServer 6.0.7
  • Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite 6.0.7
  • Microsoft.Extensions.Configuration.Json 6.0.0
  • Microsoft.Extensions.Logging.Console 6.0.0
  • MongoDB.Driver 2.17.0
  • SixLabors.ImageSharp 2.1.3
  • System.Configuration.ConfigurationManager 6.0.0
API/OCM.Net/OCM.API.Model/OCM.API.Common.Model.csproj nuget
  • Newtonsoft.Json 13.0.1
  • System.ComponentModel.Annotations 5.0.0
API/OCM.Net/OCM.API.Worker/OCM.API.Worker.csproj nuget
  • Microsoft.Extensions.Hosting.Systemd 6.0.0
  • Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.16.1
Import/OCM.Import.Analysis/OCM.Import.Analysis.csproj nuget
  • DotSpatial.Data 3.0.1
  • DotSpatial.Projections 3.0.1
  • NetTopologySuite 2.5.0
  • System.Text.Encoding.CodePages 6.0.0
.github/workflows/dotnetcore.yml actions
  • actions/checkout v1 composite
  • actions/setup-dotnet v1 composite
API/OCM.Net/OCM.API.Worker/Dockerfile docker
  • base latest build
  • build latest build
  • mcr.microsoft.com/dotnet/aspnet 6.0 build
  • mcr.microsoft.com/dotnet/sdk 6.0 build
Import/OCM.Import.Worker/Dockerfile docker
  • base latest build
  • build latest build
  • mcr.microsoft.com/dotnet/aspnet 6.0 build
  • mcr.microsoft.com/dotnet/sdk 6.0 build
Localisation/package-lock.json npm
  • abbrev 1.1.1 development
  • amdefine 1.0.1 development
  • argparse 0.1.16 development
  • async 0.1.22 development
  • async 0.2.10 development
  • camelcase 1.2.1 development
  • cli 0.4.5 development
  • coffee-script 1.3.3 development
  • colors 0.6.2 development
  • console-browserify 0.1.6 development
  • dateformat 1.0.2-1.2.3 development
  • decamelize 1.2.0 development
  • esprima 1.0.4 development
  • eventemitter2 0.4.14 development
  • exit 0.1.2 development
  • findup-sync 0.1.3 development
  • getobject 0.1.0 development
  • glob 3.1.21 development
  • glob 3.2.11 development
  • graceful-fs 1.2.3 development
  • grunt 0.4.5 development
  • grunt-contrib-clean 0.5.0 development
  • grunt-contrib-concat 0.3.0 development
  • grunt-contrib-copy 0.4.1 development
  • grunt-contrib-jshint 0.6.5 development
  • grunt-contrib-uglify 0.2.7 development
  • grunt-legacy-log 0.1.3 development
  • grunt-legacy-log-utils 0.1.1 development
  • grunt-legacy-util 0.2.0 development
  • grunt-lib-contrib 0.6.1 development
  • hooker 0.2.3 development
  • iconv-lite 0.2.11 development
  • inherits 1.0.2 development
  • inherits 2.0.3 development
  • js-yaml 2.0.5 development
  • jshint 2.1.11 development
  • lodash 2.4.2 development
  • lodash 0.9.2 development
  • lru-cache 2.7.3 development
  • minimatch 0.3.0 development
  • minimatch 0.2.14 development
  • nopt 1.0.10 development
  • rimraf 2.2.8 development
  • shelljs 0.1.4 development
  • sigmund 1.0.1 development
  • source-map 0.1.34 development
  • uglify-js 2.4.24 development
  • uglify-to-browserify 1.0.2 development
  • underscore 1.4.4 development
  • underscore 1.7.0 development
  • underscore.string 2.3.3 development
  • underscore.string 2.4.0 development
  • underscore.string 2.2.1 development
  • which 1.0.9 development
  • window-size 0.1.0 development
  • wordwrap 0.0.2 development
  • yargs 3.5.4 development
  • zlib-browserify 0.0.1 development
Localisation/package.json npm
  • grunt ~0.4.1 development
  • grunt-contrib-clean ~0.5.0 development
  • grunt-contrib-concat ~0.3.0 development
  • grunt-contrib-copy ~0.4.1 development
  • grunt-contrib-jshint ~0.6.0 development
  • grunt-contrib-uglify ~0.2.2 development
Import/OCM.Import.Common/OCM.Import.Common.csproj nuget
  • CompareNETObjects 4.77.0
  • DocumentFormat.OpenXml 2.17.1
  • DotNetProjects.IndexedLinq 2.0.18
  • GeoCoordinate.NetStandard1 1.0.1
  • Microsoft.Extensions.Logging.Console 6.0.0
  • Microsoft.Net.Http 2.2.29
  • Newtonsoft.Json 13.0.1
  • System.Configuration.ConfigurationManager 6.0.0
Import/OCM.Import.Manager.Console/OCM.Import.Manager.Console.csproj nuget
  • Microsoft.EntityFrameworkCore.Tools 6.0.8 development
Import/OCM.Import.Manager.UI/OCM.Import.Manager.UI.csproj nuget
  • Azure.Identity 1.6.1
  • Azure.Security.KeyVault.Secrets 4.3.0
  • Microsoft.Extensions.Configuration.FileExtensions 6.0.0
  • Microsoft.Extensions.Configuration.Json 6.0.0
  • Microsoft.Extensions.Logging.Console 6.0.0
  • Microsoft.Windows.Compatibility 6.0.0
Import/OCM.Import.Worker/OCM.Import.Worker.csproj nuget
  • Azure.Extensions.AspNetCore.Configuration.Secrets 1.2.2
  • Azure.Identity 1.6.1
  • Microsoft.Extensions.Hosting 6.0.1
  • Microsoft.Extensions.Hosting.Systemd 6.0.0
  • Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.17.0
Tests/OCM.API.Tests/OCM.API.Tests.csproj nuget
  • coverlet.collector 3.1.2 development
  • xunit.runner.visualstudio 2.4.5 development
  • Microsoft.AspNetCore.Mvc.Testing 6.0.8
  • Microsoft.Extensions.Configuration.FileExtensions 6.0.0
  • Microsoft.Extensions.Configuration.Json 6.0.0
  • Microsoft.Extensions.Configuration.UserSecrets 6.0.1
  • Microsoft.NET.Test.Sdk 17.3.0
  • coverlet.msbuild 3.1.2
  • xunit 2.4.2
Website/OCM.Web/OCM.Web.csproj nuget
  • Microsoft.TypeScript.MSBuild 4.7.4 development
  • Microsoft.VisualStudio.SlowCheetah 4.0.8 development
  • Ben.BlockingDetector 0.0.4
  • Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 6.0.8
  • Microsoft.Extensions.Caching.SqlServer 6.0.8
API/OCM.Net/OCM.API.Worker/cloudflare/api-router/package-lock.json npm
  • 210 dependencies
API/OCM.Net/OCM.API.Worker/cloudflare/api-router/package.json npm
  • @cloudflare/workers-types ^4.20230215.0 development
  • typescript ^4.9.5 development
  • vitest ^0.28.5 development
  • wrangler 2.10.0 development
API/OCM.Net/OCM.API.Web/OCM.API.Web.csproj nuget
App/App.csproj nuget