Spaceport is the member portal that I wrote for Protospace, a makerspace that I frequent in Calgary. It is by far my largest project and the one I've spent the most time on. It has a database of all our members and tracks their transactions like dues and training fees. It allows members to sign up for classes and our instructors to teach courses. It also manages the access cards that members use to get into the building.
You can find the source code on Github.
Spaceport is tightly coupled to Protospace and has many integrations:
- Syncs credentials to our AD controller for computer logins
- Manages AD group membership to restrict machine use
- Syncs credentials to our Discourse forum Spacebar
- Manages Discourse groups to restrict topic access
- Syncs credentials to our MediaWiki
- Processes PayPal payment notifications
- Syncs valid member cards to our door controller Airlock
- Tracks training certifications for our tool lockouts
- Emails interested members when a class is scheduled
- Shows who's connected to our Minecraft server
- Tracks who's logged into our laser cutter and CNC router
- Tracks and bills for laser cutting time
- Shows if the building alarm is armed or disarmed
- Displays charts of various environmental sensors
- Displays a photo of our garden
Site data is automatically compressed and backed up daily by two members. The software is free and open-source and can be set up by reading the documentation. Protospace directors also have admin access to the server's host in case something happens to me.