The Digital Makerspace application is hosted for free on Heroku. Will Lynch's account, [email protected], is the primary application owner. The source code can be found on Github under the Manchester Makerspace team space. The application is connected to the production branch of the makerspace-rails project on Github. When code is merged into production, it is automatically released on Heroku.
The Google account that invites members to Google Drive, sends emails and uploads signed documents is [email protected]. To change this, you will need to change a few environment variables in the application
The database for this application is a MongoDB hosted on mlab. Credentials are owned by a board member. Backups of the database are made nightly. Confirmation of backups are posted every day at 1AM EST to the private Slack channel #interface-logs.
The payment gateway in use is from Braintree Gateway. Again credentials are owned by a board member. In the event of any issues with our application, you can log into the Gateway to complete any actions there.
The source code consists of several different projects hosted on Github as listed below. For more information, including how to contribute, view their READMEs on Github.
Ruby on Rails API. This is the actual application that runs on heroku. The frontend code is simply a gem that is installed in the ruby application.
Typescript React UI. This is all of the frontend code for the application. When you load members.manchestermakerspace.org, this is what you see.
Ruby UI gem. Since the application is written in Ruby and the frontend is written in Javascript, this is a tool to convert the Javascript into Ruby so that the application can consume it. When updates are made to makerspace-react, new versions of this ruby gem are automatically released.
Typescript library. The makerspace-rails application provides definitions for the application's API routes via a swagger specification per the OpenAPI 2.0 standard. When changes are made to the swagger specification in makerspace-rails, new versions of this Typescript library are automatically released.
Typescript library. Parser for converting the swagger specification from makerspace-rails to the client of makerspace-ts-client. Essentially the generator for makerspace-ts-client. It is used internally in the process of automatically updating makerspace-ts-client. If any issues exist in makerspace-ts-client, the generator should be fixed and a new client generated.
Heroku has a service called SumoLogic that we use to view the server logs. Often, these are too verbose and hard to parse, so any critical errors are instead logged to Slack in the #interface-logs private channel. The Slack errors contain concise messages about what the error is if it's an API error. These same errors should be displayed in the UI, but in the event of any UI bugs, you can see the backend responses here.
We don't have a good means to troubleshoot the UI yet. Pretty much just have to open the browser Console (Ctrl + Shift + i ) and see what errors exist there. Troubleshooting Javascript skills are needed here.