[aerogear-dev] Documentation of UnifiedPush Server's modules

Matthias Wessendorf matzew at apache.org
Mon Mar 27 06:18:44 EDT 2017


Hello,

in terms of the structure, here is a list of the most relevant/important
modules/folders:

* admin-ui: Node.js application for our UI, bundled as a JAR file
* model: contains API and JPA implementation of the "data model"
* jaxrs: contains the REST endpoints of the server, some are used as
"public API endpoints" (such as the sender or device registration), and
others are less or more not public, they back the UI, and are protected by
keycloak
* service: Contains a "service layer", basically less or more smart API
wrappers around the DAOs, which are implemented via JPA
* push/model: Contains some push specific model classes, also reused by our
java client
* push/sender: most important package. Here happens the most important:
Sending of the push notifications, which is implemented via JMS, and the
metrics processing (also via JMS), and storing metrics to the DB layer
* servers: builds the WAR files (for our custom keycloak, and our
ag-push.war file)

Besides that we have docker-compose files, and database configuration (e.g.
separated DB docker files)

Also, in the appendix of our users guide there is a bit of arch. overview:
https://aerogear.org/docs/unifiedpush/ups_userguide/index/#appendix

HTH,
Matthias


On Sun, Mar 26, 2017 at 3:44 PM, Polina Koleva <polina.n.koleva at gmail.com>
wrote:

> Hey,
> I am a masters student applying for GSOC project "HBase/Apache Kafka in
> UnifiedPush Server".
> I am exploring the codebase of the project so that I can understand the
> whole logical structure of it and its full functionality.
> I have noticed that it is divided into "modules". So I am thinking that
> maybe it will be good somewhere to have a brief description of each module
> and its function and maybe a diagram which module uses which. This can give
> a quick start of a developer new to the project and he can easily
> understand
> into which module to dive deeply. If you think it is a good idea, I can
> start doing it. Moreover, it will help me either.
> Besides, I have seen other open source projects organised in such a modular
> manner.
> Why have you decided to do it so modularly? And is this the practice
> usually?
>
> Sorry, if such documentation already exists and I haven't found it.
>
> Best regards,
> Polina Koleva
>
>
>
> --
> View this message in context: http://aerogear-dev.1069024.
> n5.nabble.com/Documentation-of-UnifiedPush-Server-s-modules-tp12921.html
> Sent from the aerogear-dev mailing list archive at Nabble.com.
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
twitter: http://twitter.com/mwessendorf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20170327/d2951d0b/attachment.html 


More information about the aerogear-dev mailing list