SatNOGS as a project has been concieved as many Satellite Ground Station implementations (like the v0.1 which is ready) coupled together under a global Network that would enable anyone to utilize SatNOGS as a single platform for observations.
The UX idea is simple. An observer/astronomer/maker/hacker accesses our global Network via a web interface. Then she provides details about the observation that she would like to schedule like, which satellite, which band, what timeframe, which encoding etc. Then, having all the info , the system calculates the possible observation windows, on the available Ground Stations connected to the Network for the given timeframe (taking into account any tool, location and time constrains). Once the observer confirms the proposed “observation job” then it gets sent as a job to each Ground Station (GS) job queue to be executed when it has to.
GSs are gathering observations, decoding/recording them and sending them back to the Network, making them available to the observer (and the world!).
Here is a glimpse into the initial DB Schema of the Network (not all attributes are populated in the tables)
The general design of the Network part of SatNOGS constitutes a typical many-to-many scheduling problem (many observers to many ground stations) Interestingly enough projects have been developed for observations planning and scheduling on satellites like Hubble (HST) Projects like SPIKE  and ASPEN . Those are examples of many-to-one scheduling system s and we have been looking around for implementations that would be similar to our proposed one. Unfortunately we haven’t found anything closely related, thus we are building the Network part from scratch.
Given the expertise of our software people, we are building the application part on Django (python), and relying on rest APIs for communication with our ground stations. The first iteration of the network will be focused on a client-pull approach (versus a server-push) to eliminate any network restrictions.
Our challenges towards the global network are interesting. Given the data-heavy approach of the network (imagine all observations from all stations stored and indexed) we expect data storage to be a serious challenge. We are evaluating deep-storage as an approach to this, and we welcome any feedback or ideas around that.