Install instructions - nicmart-dev/linguistnow GitHub Wiki

Install

To install and run the LinguistNow application, follow these steps in order listed below:

Install front-end and backend

Server

  1. Navigate to the server directory.

  2. Install dependencies using npm.

    npm install
    
  3. Copy file example.env naming it .env

Note: We will start our Express server after setting up Google credentials below.

React app

  1. Navigate to the client directory.

  2. Install dependencies using npm.

    npm install
    
  3. Copy file example.env naming it .env

Note: We will start our app after setting up Google credentials below.

Airtable Database

  1. Click on Airtable share link https://airtable.com/apps6wMV6ppYNZO2L/shriM67YiDaTMkebK

Note: It will say "No visible records" which is fine.

  1. Click "Use this data". This should create your own empty database with the same schema.

  2. Navigate back to server and in the .env variable AIRTABLE_BASE_ID with the url part that starts with "app"

  3. Create a personal access token https://airtable.com/create/tokens

  4. In that same .env variable, update AIRTABLE_PERSONAL_ACCESS_TOKEN with your token id (begins with pat)

n8n

Install through npm

  1. Ensure you have Node.js and npm installed on your system.

  2. Install n8n globally.

    npm install n8n -g
    
  3. Start n8n.

    n8n start
    

Configure workflow

  1. In the app that opened in your browser, in the first workflow that displays, remove the initial "Trigger node" in an otherwise empty canvas.

  2. import n8n workflow configuration from n8n\Determine_Google_Calendar_availability.json by clicking the Workflow menu icon > Import from file.

  3. Notice Check if busy node has a warning icon. Double click on it and select Create new credential in Header Auth field:

  1. Enter any name such as "Authorization", and as value click Expression (in toggle that appears on field mouse over) paste in below code, and click Save: {{ $('Webhook').item.json["headers"]["authorization"] }}
  1. Toggle to activate workflow:

Google OAuth setup

Follow steps in https://github.com/nicmart-dev/linguistnow/wiki/Set-up-OAuth-in-Google-Cloud

Start our app

  1. Navigate back to the root directory.

  2. Install dependencies using npm.

    npm install
    
  3. Run npm start which will start both React app client and Express server using the npm-run-all library.

Note: After following these steps, you should have the LinguistNow application up and running, along with the n8n workflow automation tool.

Set up new users

By default when you run the app http://localhost:3000/ and first sign in with Google, you'll be logged in as a linguist. We recommend you have two Google accounts so the other can be used to sign in as a Project Manager too and you can then follow the user journey.

To do this:

  1. Log in to the app with each Google, account, so the corresponding user row is created in Airtable.

  2. Change one of the accounts to have Project Manager role, by logging in to Airtable and then changing role for corresponding user from Linguist to Project Manager.