Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code-Quality and -Architecture Discussion #337

Closed
vsaw opened this issue Dec 19, 2020 · 3 comments
Closed

Code-Quality and -Architecture Discussion #337

vsaw opened this issue Dec 19, 2020 · 3 comments

Comments

@vsaw
Copy link
Collaborator

vsaw commented Dec 19, 2020

I don't know where else to put it, but I would like to start a conversation regarding Opendatacam's code-quality and -architecture.

Frankly I believe ODC would benefit greatly from improvements in code-quality and -architecture. I've started to put ODC on that path by adding Jasmine tests and eslint rules. While this will hopefully improve the code-quality over time, the architecture still needs guidelines.

I personally see the following to fix

  • Darknet "leaks": To allow us to plug in different Networks we should aim to contain all Darknet related code in YoloDarknet.js.
  • Counter Logic: We've already seen massive work being done on the counter logic by adding the polygon counter. Currently this bloats Opendatacam.js. We could try to carve this out before we add "speed measurements" and other features
  • Make Opendatacam.js agnostic of SSE and other underlying networks. Ideally there should be a spearation of concern between the Network connectivity and Opendatacams logic.
  • Database Abstraction. At the moment all code accesses the MongoDB Abstraction directly, which makes it difficult to change to different persistence as currently being developed in the evo-addnedbconnector branch
  • Direct include of config.json makes it difficult during development to try out different configs quickly. Additionally it makes it impossible to change configurations at runtime.

While I'm sure we could extend the list I am wondering how the other's (e.g. @tdurand or @mildsunrise) think about this and if we should coordinate our efforts.

@tdurand
Copy link
Member

tdurand commented Dec 20, 2020

@vsaw ! Many thanks for this !!

All the points are 👌 ! totally agree !

Actually there is some exciting news around the OpenDataCam project we didn't share publicly yet but we are working on release a version for Mobile, running on Android (running the YOLO inference too there).. And part of the work on this we need to make OpenDataCam more "darknet" agnostic and more modular to be able to have a build for Android, a build for Darknet , etc etc..

Please ping me on my email / twitter ( on my github profile you'll find it ) if you are around this week before christimas to schedule a quick call to synchronize efforts so we don't refactor the same things and run into merge problems ! Will post the time on github so anyone interested can join too.

@tdurand
Copy link
Member

tdurand commented Dec 21, 2020

Tomorrow 12 A.M (Europe time) this is happening, if anyone interested please ping me on my email and I'll add you in the meeting.

@vsaw
Copy link
Collaborator Author

vsaw commented Dec 22, 2020

We discussed during the call to proceed as follows:

Specifics regarding the work to be done can be discussed in the respective issues. The "general discussion" is considered finished for now 👍

@vsaw vsaw closed this as completed Dec 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants