This document outlines the steps to get all the accounts and tools required to develop with Minerva, Waterloo Rocketry’s slackbot.
Table of Contents |
---|
Setting up your Local Development Environment
As Minerva is a Nodejs application, you will need to have it installed in your development environment to develop with it. While Minerva is currently running on Nodejs 16.x, you should be fine to download the latest LTS (Long Term Support) version, which at the time of writing is 18.x. You can download Nodejs here.
As Minerva’s codebase uses ESLint for linting, it is recommended that you install an ESLint integration for your code editor of choice, which can be found here.
Setting up the Codebase
The first step to setting up Minerva’s codebase locally is to clone it from GitHub. Once cloned, open up a terminal in the repo’s root directory and run the npm install
command to install all required dependencies.
Once dependencies have been installed, you can verify that everything is working properly by running the application’s unit tests. This can be done through the npm test
command.
If the tests run then you are most likely good to go!
Access to the Development Slack
The Development Slack is a free Slack workspace that is used to test the development deployment of Minerva. You can join it by either:
Using the “Development Slack Invite” link that is pinned in the #software channel in the main Waterloo Rocketry Slack
(if you are a single-channel guest who does not have access to software) Asking for the invite link from someone who has access to the #software channel
Note that since the development Slack is on a free plan, messages posted in it effectively have a 90-day retention period. Therefore, only use it for testing minerva and leave conversations to the main Slack.
Access to the Development Google Calendar
The Development Google Calendar is the Google Calendar that the development Minerva reads events from and writes events onto. You can view it from here.
In order to get edit access to the calendar, which is essential for testing Minerva’s calendar functionality, send a Slack DM to one of the primary contributors to the project, or to the Software Lead.
Note to those inviting new users: New users should be invited and given the “Make changes to events” permission on the Google Calendar once added. If you do not have “Make changes and manage sharing” permissions for the Google Calendar, and are therefore unable give them edit access, you can use the Development Google Account to give yourself the permissions to do so.