I cloned https://github.com/openchargemap/ocm-system, but unable to load all the projects due to the following error:
Unable to locate the .NET Core SDK. Check that it is installed and that the version specified in global.json (if any) matches the installed version.
We’ve just moved to .net core 3.1 - I’m currently working on being able to host a mirror of the API on linux (docker or stand-alone) which will sync itself automatically. that way other apps can optionally use their own mirror of the API for reads instead of depending on our hosted API.
So I’m assuming you are a developer? Was there anything in particular you were interested in helping with?
It looks fine now:
The only issue is:
No, I do not have anything particular in mind. I installed it out of curiosity and in case I can make any contribution in the future for any reason.
Thanks, I’m usually on the latest update of VS + typescript so the project generally is as well.
For typescript you could say Yes just to get it to build - there are some extra steps detailed in the App readme to use npm/jake to get those parts to build - those are part of the old web/mobile app from 2011 to around 2017 and some parts are still used for UI stuff in the OCM.Web site (parts of the editor and localization).
The currently maintained app (used for https://map.openchargemap.io and mobile) is in a different repo: https://github.com/openchargemap/ocm-app - it uses the Ionic Framework (npm, cordova, latest angular, typescript etc)
Thank you for the clarification. It is very helpful because I was wondering what framework is used for the apps. I have largely weaned myself off JS (use C# and Xaml via Uno to target all platforms), so I am unable to contribute anything to the apps.
That’s ok, you may find the Typescript way of doing JS is a bit more like C# though.
Plenty of C# to play with though. Had a go at porting our MongoDB based cache provider to the latest version of their API but gave up after several hours, no idea how to port our spatial queries (without resorting to native MongoDB syntax) and also retain the chained linq wheres we use for filtering results.
The most important backend areas are our API (which was originally written before rest APIs were a thing and well before MVC/web API) and our data imports (which have been neglected).
To really play with the code (and run tests etc) you need a MongoDB back and an SQL database backup which I can provide if you do decide to work on anything later.
My current goals are:
- API updates to .net core and port to Linux so we can offer an ‘easy’ self hosting mirror option
- provide a ‘good’ editor as part of the app and move all edits to that.
- implement equipment grouping in the data model (e.g. stations having one or more connectors)
- updating and add imports, move import process off the server to an external tool (may run as a process on a Linux server)
- add a geojson layer viewer to the app for data comparisons (given a data file which POIs appear to be missing, to determine if we need an import from that source).
Meanwhile I do have other projects I should be working on but currently I’m finding time for OCM that I haven’t been able to find for a few years, so that’s a good thing. Breaking the API recently highlighted just how many people are dependent on it, which is motivation in itself. CloudFlare tells me we transferred around 520GB of data last month.
Thanks a lot for all the information. I feel that I have a good bird’s-eye view of the project now.
Wouldn’t it make sense to have a separate channel (e.g. a gitter room) for development related questions/discussions?
Ha, no I can’t keep up with all the information feeds I currently have!
I felt the major advantage of OCM over other alternatives is its crowdsourcing. Hope most EV owners will use and contribute (by editing) to OCM.