Airdrome
emiljt
Posts: 45
Airdrome
Some time ago I started to see a number of posts about replacing the functionality of the old Obex website. A lot of people were complaining about how difficult git was to use or how they didn't want to learn a new system just to get an object for their project. As a web developer, I decided it would be a fun project to take on, as well as a good way to give back to the Parallax community.
It's taken months of free time (really not that much time in total, but I only get free time so often, so things progressed slowly), but I'm happy to announce that today (Nevada Day!) I've deployed the first beta version of Airdrome. This is a very beta version and will probably experience a lot of downtime as I get the infrastructure all dialed in. Things will stabilize quickly though. I'm not a big fan of using web forums for project updates, but I don't have a better option at the moment, so for the time being, I'll keep this post up to date with how things are going.
First off, I want to make it clean that this website isn't meant to replace the Parallax Obex repository or even compete with it; it's meant to compliment it. I'm not looking to divide the community or subvert Parallax's ability to control the object exchange. The site uses git to pull data from, and stay in sync with, the official Parallax Obex. Parallax has a lot on their hands right now with the P2, so my hope was to be helpful to them and the community.
Current status:
- Very beta, some would even say...alpha. You should be able to reach a working website more consistently now though. The infrastructure now contains a real, managed DB, and Docker containers that make horizontal scaling very easy, and deploys are now automated.
- The current front-end is optimized for mobile (sorry, just a web best practice, mobile first...), so it doesn't look exactly the way I want in the long run on desktop, but it does work fine and look okay. I know it's probably entirely useless on mobile, but hey, it's there.
- Logo and styling aren't on the currently deployed version. They are forthcoming though.
MVP
Here are my minimum plans for this site before version 1:
1. Allow users to search for objects by name, target platforms (P1, P2, BS2, etc.), language (PASM, C, etc.), category, and keywords.
2. Allow users to download a zip file containing the object they want.
3. Keep up to date with the official Parallax Obex.
Planned Features & Ideas
- Allow users to upload their objects as an automated way to submit their work to the Parallax Obex
- Provide statistical data for objects such as total downloads, upload date, last updated, etc.
- Allow for object versioning, including the ability to download different versions of an object.
- Allow users to "subscribe" to an object of interest so that they can stay informed about updates or changes from the author.
- Allow users to upload their own objects that aren't in the official Obex (e.g. an object developed in it's own GitHub repository or even some other ex).
- CLI tool that provides most of the websites functionality for those who prefer the command line or want to use it in CI.
How to contribute
There are a lot of ways you can help out with Airdrome.
1. Use it, give feedback, and report any bugs. I prefer to use GitHub issues to manage things since it keeps everything in one place, but I understand if you can only post here.
2. Code. The whole project is entirely open source and I welcome pull requests through GitHub.
3. In the future, I may consider opening up the project to donations to help cover the infrastructure costs. This wont be considered until the MVP is reached though.
Links
Web app: airdrome.org
Repository: https://github.com/emiljt/airdrome
Why the weird name?
I like airplanes. One of my other hobbies is RC vehicles, especially the flying kind. The Parallax Propeller is also the main force behind the Obex. An airdrome is a place for airplanes to come and go (an airport is an airdrome for example), so I thought it was a creative, unique name that had some meaning behind it (and one I could actually get a domain name for ).
Why am I doing this?
I've been a long time user and admirer of Parallax's products (as many of us seem to be). I've always had a love for computers and electronics, especially robotics. In high school (or middle school? I can't remember) my mom bought me the original Sumobot kit, which was my first experience with Parallax. I instantly became a fan, and after discovering their drive to manufacture as much as they could here, in the United States, I became an ardent supporter. Unfortunately, I've haven't spent as much time as I would like getting to know the Propeller or even doing embedded development. My career so far has focused on the web side of things. Although this means I'm pretty much a complete n00b at a lot of the amazing things I see so many of you doing here on the forums, it did provide me with the opportunity to help out in other ways. So long story short, this is a not so amazing web developer/Parallax fan's way of contributing. Hopefully my time on this project helps you with yours.
Some time ago I started to see a number of posts about replacing the functionality of the old Obex website. A lot of people were complaining about how difficult git was to use or how they didn't want to learn a new system just to get an object for their project. As a web developer, I decided it would be a fun project to take on, as well as a good way to give back to the Parallax community.
It's taken months of free time (really not that much time in total, but I only get free time so often, so things progressed slowly), but I'm happy to announce that today (Nevada Day!) I've deployed the first beta version of Airdrome. This is a very beta version and will probably experience a lot of downtime as I get the infrastructure all dialed in. Things will stabilize quickly though. I'm not a big fan of using web forums for project updates, but I don't have a better option at the moment, so for the time being, I'll keep this post up to date with how things are going.
First off, I want to make it clean that this website isn't meant to replace the Parallax Obex repository or even compete with it; it's meant to compliment it. I'm not looking to divide the community or subvert Parallax's ability to control the object exchange. The site uses git to pull data from, and stay in sync with, the official Parallax Obex. Parallax has a lot on their hands right now with the P2, so my hope was to be helpful to them and the community.
Current status:
- Very beta, some would even say...alpha. You should be able to reach a working website more consistently now though. The infrastructure now contains a real, managed DB, and Docker containers that make horizontal scaling very easy, and deploys are now automated.
- The current front-end is optimized for mobile (sorry, just a web best practice, mobile first...), so it doesn't look exactly the way I want in the long run on desktop, but it does work fine and look okay. I know it's probably entirely useless on mobile, but hey, it's there.
- Logo and styling aren't on the currently deployed version. They are forthcoming though.
MVP
Here are my minimum plans for this site before version 1:
1. Allow users to search for objects by name, target platforms (P1, P2, BS2, etc.), language (PASM, C, etc.), category, and keywords.
2. Allow users to download a zip file containing the object they want.
3. Keep up to date with the official Parallax Obex.
Planned Features & Ideas
- Allow users to upload their objects as an automated way to submit their work to the Parallax Obex
- Provide statistical data for objects such as total downloads, upload date, last updated, etc.
- Allow for object versioning, including the ability to download different versions of an object.
- Allow users to "subscribe" to an object of interest so that they can stay informed about updates or changes from the author.
- Allow users to upload their own objects that aren't in the official Obex (e.g. an object developed in it's own GitHub repository or even some other ex).
- CLI tool that provides most of the websites functionality for those who prefer the command line or want to use it in CI.
How to contribute
There are a lot of ways you can help out with Airdrome.
1. Use it, give feedback, and report any bugs. I prefer to use GitHub issues to manage things since it keeps everything in one place, but I understand if you can only post here.
2. Code. The whole project is entirely open source and I welcome pull requests through GitHub.
3. In the future, I may consider opening up the project to donations to help cover the infrastructure costs. This wont be considered until the MVP is reached though.
Links
Web app: airdrome.org
Repository: https://github.com/emiljt/airdrome
Why the weird name?
I like airplanes. One of my other hobbies is RC vehicles, especially the flying kind. The Parallax Propeller is also the main force behind the Obex. An airdrome is a place for airplanes to come and go (an airport is an airdrome for example), so I thought it was a creative, unique name that had some meaning behind it (and one I could actually get a domain name for ).
Why am I doing this?
I've been a long time user and admirer of Parallax's products (as many of us seem to be). I've always had a love for computers and electronics, especially robotics. In high school (or middle school? I can't remember) my mom bought me the original Sumobot kit, which was my first experience with Parallax. I instantly became a fan, and after discovering their drive to manufacture as much as they could here, in the United States, I became an ardent supporter. Unfortunately, I've haven't spent as much time as I would like getting to know the Propeller or even doing embedded development. My career so far has focused on the web side of things. Although this means I'm pretty much a complete n00b at a lot of the amazing things I see so many of you doing here on the forums, it did provide me with the opportunity to help out in other ways. So long story short, this is a not so amazing web developer/Parallax fan's way of contributing. Hopefully my time on this project helps you with yours.
Comments
I attempted to vist airdrome.org and received a timeout error.
In the way of an update, I've got auto-build and deployments working, which saves a lot of developer time with changes and server management. I'm currently working on the SSL cert (should be good to go soon), and moving the backend database to a managed service (more expensive, but far more reliable and less time intensive).
My next goal is getting the frontend updated and hooked up to the functioning backend; the current frontend is basically just a dummy standin version.
My next priorities are:
- Adding the ability to download objects so that the site is actually useful in some way
- Add some more field gathering to the code that parses the obex objects so that we have more information on each object
This sounds really cool. I'll keep watching for updates.
Due to some recent events, I've opted to change web hosts for this project, so as of about a week ago, I pulled the site down temporarily to move things over. I'm still in the middle of that change, but my hope is to have it back up this coming weekend.
In the way of good news though, I've been working on versioning, so the site can now keep track of changes being made to objects and has every version available. I also added the ability to download objects! Which makes the web site actually useful now. I'll give a more detailed update about these changes when the site is back up with the latest version.