Hi!
Over the past decade, we’ve been working on improving our code base by creating a framework that we use in our various apps (37 and counting), first for the Atlassian Server/DC products and gradually expanding it to support Atlassian Connect.
After an initial copy/paste approach, we have been moving larger parts of that framework into multiple packages, living together in a single monorepo. The goal has always been to make this available to the Atlassian developer community, and today I’m happy to say that we’ve made it public.
You can find the monorepo here:
You will find that most of the code is geared towards use within the context of GCP Firebase, because this is what we use for hosting our Atlassian Connect apps.
Although this may not be immediately useful to those who have chosen a different platform, or are using ACE, it might still be beneficial to see how we have solved certain overarching concepts within the Atlassian Ecosystem.
The entire repository and all packages are released under the very permissive Apache 2.0 license, meaning that you are free to copy & modify any of the code and use it commercially within your projects.
Just as long as you make sure to read the disclaimer below
I hope this helps those who are just getting started, and for those who have already done the hard work themselves, your efforts will either be validated, it will help you improve your existing code or it will show how much further you are compared to us. Sounds like a win-win-win to me
Disclaimer
It is important to note that this is specifically created to help our (Collabsoft) own app development goals.
We do not provide any warranty as to the stability of features or the (continued) availability of packages. Collabsoft retains the sole right to make architectural choices without any regard to how this may impact other projects.
We also provide minimal to no documentation. The project is built using Typescript, so typings are supported, but that’s about it. If you want to know what a certain package and/or function is doing, you’d best look at the source code.
So why did we make it open source?
Because we hope that the Atlassian developer community can benefit from what we’ve been doing.
Please feel free to browse the code, copy it, adjust it, learn from our mistakes and improve it to your own benefit.
The code has been published with a permissive license (Apache 2.0) and can be used in any way you seem fit for your operation.
You are still more than welcome to install the packages from our Github package repository, but be aware that doing so is at your own risk
Contributions
Obviously we’re open to any contribution in the form of issue reports and/or PRs, but we do not give any guarantees as to whether these will be fixed and/or merged.
It is recommended to file an issue before starting work on a PR to make sure that we agree to the proposed fix before you start doing any work.
Again, there is no documentation on how to build this project locally. You’ll have to figure it out yourself. We can provide some guidance once you’ve filed an issue report and all parties agreed that this is worthy of a PR.