- 
                Notifications
    You must be signed in to change notification settings 
- Fork 2
Home
Welcome to the Makerspace wiki!
Makerspace, formerly known as ConstructControl, is a training and access control system for makerspaces to manage use of equipment via API-connected card reader devices.
Makerspace was built originally for the RIT SHED. While the language in this wiki will attempt to remain unspecific to the SHED, certain descriptions will be describing the SHED's specific deployment environment.
The Makerspace application contains a server and client subsystem. The server subsystem is a NodeJS express application that contains the SAML authentication control, Equipment API, and web service handled with GraphQL. The client subsystem is a React web application with admin and user views.
The server is written in TypeScript using NodeJS Express with Apollo server included as a GraphQL query handler. The server uses Knex as a database adapter and SQL queryer.
Shibboleth is the authentication provider RIT uses to sign all RIT users into RIT services. Shibboleth uses SAML2 for private key authentication handling. Makerspace uses passport-saml to create SAML requests and decrypt responses. The full process in detailed in Authentication.
The application supports communication between access control card reader devices via a REST API located at /api. The API handles machine authentication requests and status updates from access devices. This is detailed in Machine API.
Apollo Server allows the use of GraphQL sent from the client to the server. GraphQL endpoints, or resolvers, pull requested information from the database via associated repositories. This is detailed in Database > Querying