diff --git a/content/.obsidian/workspace b/content/.obsidian/workspace index b0a9003..fc1155e 100644 --- a/content/.obsidian/workspace +++ b/content/.obsidian/workspace @@ -4,12 +4,12 @@ "type": "split", "children": [ { - "id": "ef3bf5866c68f34a", + "id": "23343431d6b81224", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "QotNews.md", + "file": "Spaceport.md", "mode": "source", "source": false } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "QotNews.md", + "file": "Spaceport.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "QotNews.md" + "file": "Spaceport.md" } } } @@ -96,17 +96,17 @@ "direction": "horizontal", "width": 300 }, - "active": "ef3bf5866c68f34a", + "active": "23343431d6b81224", "lastOpenFiles": [ + "Spaceport.md", + "Backup Strategy.md", + "Protospace.md", + "Notica.md", + "p.md", "QotNews.md", "media/Screenshot from 2022-05-18 16-24-38.png", "media/Pasted image 20220518162452.png", "media/Pasted image 20220518162414.png", - "Notica.md", - "Protospace.md", - "Plant Waterer.md", - "LED Dress.md", - "Hand of Ozymandias.md", - "Wine Crate Coffee Table.md" + "Plant Waterer.md" ] } \ No newline at end of file diff --git a/content/Protospace.md b/content/Protospace.md index 7b2c656..0fb8078 100644 --- a/content/Protospace.md +++ b/content/Protospace.md @@ -17,11 +17,11 @@ Under this system, I've created several projects in order to make Protospace a b ### Spaceport -Spaceport is our member portal and my main project at Protospace. It tracks memberships, transactions, courses, class attendance, access cards, and statistics about Protospace and its members. +[[Spaceport]] is our member portal and my main project at Protospace. It tracks memberships, transactions, courses, class attendance, access cards, and statistics about Protospace and its members. It's free and open-source software. Everyone has the right to study, change, and distribute the software and source code to anyone and for any purpose. Here's a screenshot of the home page: -![[protospace-spaceport.png | a screenshot of the homepage of Spaceport]] +![[spaceport1.png | a screenshot of the homepage of Spaceport]] ### Garden diff --git a/content/Spaceport.md b/content/Spaceport.md new file mode 100644 index 0000000..5009a46 --- /dev/null +++ b/content/Spaceport.md @@ -0,0 +1,35 @@ +Title: Spaceport +Date: 2022-05-16 +Category: Projects +Summary: Member portal for Calgary Protospace. It tracks dues, courses, training, access cards, and more. +Short: m + +[Spaceport](https://my.protospace.ca) 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](https://github.com/Protospace/spaceport) on Github. + +![[spaceport1.png]] + +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](https://forum.protospace.ca) +- Manages Discourse groups to restrict topic access +- Syncs credentials to our [MediaWiki](https://wiki.protospace.ca) +- 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](http://games.protospace.ca:8123/?worldname=world&mapname=flat&zoom=3&x=74&y=64&z=354) +- 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 + +![[spaceport2.png]] + +As of writing this there's 234 current Protospace members and 1408 historical or inactive memberships that it manages. Data is stored in a 49 MB SQLite database which makes it easy to back up or sync with my development server. The back end is written in Django / Python and the front end is React / JavaScript with Semantic UI for the graphics. + +Site data is automatically compressed and [[Backup Strategy | 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. \ No newline at end of file diff --git a/content/media/protospace-spaceport.png b/content/media/spaceport1.png similarity index 100% rename from content/media/protospace-spaceport.png rename to content/media/spaceport1.png diff --git a/content/media/spaceport2.png b/content/media/spaceport2.png new file mode 100644 index 0000000..e5d01d5 Binary files /dev/null and b/content/media/spaceport2.png differ diff --git a/themes/theme/templates/index.html b/themes/theme/templates/index.html index a025c9f..a7cddfe 100644 --- a/themes/theme/templates/index.html +++ b/themes/theme/templates/index.html @@ -61,14 +61,6 @@ {% endfor %} -

- Spaceport - — source code -

-
-

Makerspace members' portal for Calgary Protospace. It tracks membership, courses, training, access cards, and more.

-
-

t0txtsource code