Open captainGeech42 opened 3 years ago
Hello @captainGeech42
A bit related to this topic, but not entirely: I have started the implementation of an API to asynchronously expose the database entries (so that it completes the current notifications synchronous part of the project).
It currently only provides a very mere rss interface supported by fastapi running inside a dedicated Docker container, but I could add json or xml stuff if anyone is interested (this part could definitely help the build of a web interface for instance).
So far I don't know how to integrate this into the current project. It's not easy as for instance one of my main problem is that I don't want my API docker to be destroyed when the main container is done with scrapping. But I'm not sure that providing it in a new project is the way to go too.
What do you think?
When I originally made this issue, I was thinking there would be a few major components:
For your project, the easiest approach I think is to build out your API and take in the SQLite database via a volume and run them separately, and keep them as two distinct projects. Even if that new model I outlined above gets implemented, I think it is also separate projects with a shared data layer/library, for proper modularity. Not sure, haven't put a ton of thought into it (just wanted to get it on paper so I wouldn't forget).
I think a formal v2 rearchitecture for this project is on the horizon when I can chunk out a solid week to build it, as I think building out the aforementioned model has value, but idk when I'll have time (my project time right now is very minimal and I've got a couple other things that I'm currently trying to get out the door). I'm also moderately interested in re-implementing this in Golang, but not sure yet.
This would require significantly re-architecting this, and maybe belongs in a separate project, but a web interface to see the current list of victims and stats for the different sites would be nice.