Wyoming is a new startup project. You can learn more at https://gitlab.com/wyoming
Before we begin, a small disclaimer. This project is not sponsored by either the state of Wyoming or the gitlab team. It is an entirely independent project and will continue to be run as such.
Wyoming is also known as the equality state. Free and open source software is a great equalizing force. The goal of this project is to deliver reasonably cutting edge software that makes sense for companies of all sizes. It is also an attempt at leveraging existing infrastructure to demonstrate what is possible. For example, Wyoming is a mono repo that houses multiple projects.
Prominent among them are a flask backend server, an angular website, and an Android app. A good next step would be to add an iOS application.
This is all good but what does Wyoming do? What does this application do?
The easiest thing to do I think is to make a blogging platform. Let's take a few moments to come up with some arbitrary constraints to the scope.
The first milestone for this project is to get a marketing website ready. It shouldn't take more than a month. But before we can do that, we must have a clear vision of what we want from this project. This is the information we will have on the marketing website.
The second milestone is to have a minimal product. This minimal product will be entirely flask-based. It will use the flask back end. This will allow us to iterate rapidly and pivot as necessary. In this stage, we will allow users to register and log in using arbitrary usernames and passwords of their choice. Each user will have a unique UUID associates with them. After logging in, they will be able to post short, plain text status messages and read everyone else's status messages. Each such status message will have a unique UUID associated with it.
The third milestone is to allow third party authentication. For example, we will need popular networks such as Google and Facebook. Our goal is to support all major identity providers. Perhaps a user must still provide an email address that they are able to receive email messages at? The idea is maybe we will need the user to recover their account somehow. Single sign on using LDAP is also a priority here. I believe we should leverage existing technology where possible and perhaps even contribute back upstream where possible. Each such user will also have a unique UUID and they will have the same ability to post status messages as well.
Now, concurrently with these three milestones, we need actual value delivering applications. One such application is Openroom. Openroom https://github.com/openroom/openroom is an application for managing access to meeting rooms. This is our fourth milestone.
Another milestone is to build the mobile applications to allow users to be able to post status messages from the mobile applications on Android (and iOS). This means users should also be able to authenticate on these mobile applications.
As you can tell, these milestones are getting overly broad. We will never complete any of these milestones. The web and indeed the technology world are moving targets. We will not be afraid to make breaking changes. At no time will we guarantee compatibility with anything older than current generation minus one.
I am very excited for this startup. I believe this is necessary "commons" work that can drive the conversation forward and eliminate a lot of duplicate work across multiple enterprises allowing them to focus in delivering value to their users.
I'm excited. I'm sure you are too. Want to join?
https://gitlab.com/wyoming