Documentation of backend API and project design
Closed this issue · 1 comments
There seems to be an API which is called
associationfireaccountability
that has no documentation about what it is or how to use it. A web search came up with nothing. Include instructions in
README.md
or in the JS source itself.
That is correct. This project at large is structured as follows:
- Embedded device for monitoring of firealarms. Available publicly on GitHub; I believe you've found it.
- Web interface for viewing fire alarms. Available publicly on GitHub; this repository.
- Server backend for storing fire alarms. Proprietary.
The API you're pointing out is provided by the server backend. As I recall, it is a relatively simple CRUD apparatus for fire alarm record tracking.
I have hesitated to use the term "open source" in the above description because this project was not developed and is not currently maintained with the aim of community development and widespread adoption; rather, it is partially public on GitHub so we, the developers, can show it off more easily, and because there's not a compelling reason not to. (There exist various reasons to keep the server proprietary, including us not wanting to spend the time to clean it up in security-sensitive regards. Unfortunately this means that open-sourcing the backend would be too expensive, timewise, for us at this time.)
In general, this project is a hobby project. We did not anticipate external interest, which is why documentation, source cleanup, etc have not been created thus far. I'm glad you're interested in the project, but our time is finite. The server backend is simple enough that it can probably be functionally reverse-engineered based on open-source materials, and that is fine. May I ask if you have a specific use case in mind for this project (or a fork thereof), or if this issue is more opened in the abstract spirit, to help a hypothetical future developer who may want to use this project? The crux of the issue is that we do not think the latter case is sufficiently probable to warrant the investment of our time that would be required to make this project friendly (in the technical/documentation sense) to outside prospective users. (Please let us know if we are wrong here.)
That said, if you have a specific idea in mind, if you could give us some more information on your needs and what would be helpful, we can take another look at documenting aspects of the project. Alternatively, if you want to take a gander at reverse engineering the backend and pose questions to us as they arise, we can answer those (although I suspect it is simple enough that with a reasonable time investment it can be done easily). If you do end up doing so, please open-source it! Our code is a mess, but if you start from scratch, yours doesn't have to be. I'm sure future developers interested in embedded fire alarm monitoring apparatuses and integrations would be grateful for your efforts.