Skip to content

Latest commit

 

History

History
191 lines (119 loc) · 8.58 KB

readme.md

File metadata and controls

191 lines (119 loc) · 8.58 KB

Griffin Mobile API

GitHub stars GitHub forks GitHub watchers Dependabot Status

The Griffin App API is an open source API specially designed to work with the Griffin App mobile project. The goal of this App and API is to help you and your team transition back into the workplace as safely as possible. At Axway, we've used this app to help our own teams return safely — now, let us help you!

📓   Description

Open-source API for managing the safe return of team members to the office. It is built using AMPLIFY API Builder and several open-source products.

🚀   Getting Started

Clone this GitHub repo

git clone [email protected]:axway-developer-relations/griffin-app-opensource.git

Install npm dependencies

pushd api
npm install
popd

Save Google Service Account JSON file

Save your google-service-account.json file in the /lib/keys directory so that your API can read/write to Google Sheets API. For more information about creating the file, please reference Google's documentation here.

Specify API Builder url and keys info in the .env file

The API key you specify here will be used to secure your API

	API_BUILDER_APIKEY=EnSQVDkhe6X9SKYr5tWlAOKFZhGVpyqFfSanFHOpRPk

Specify Axway AMPLIFY MBS (Arrow DB) url and API keys

You can retrieve your API Keys and info after logging into https://platform.axway.com

	ARROWDB1_SERVER_URL=https://api.cloud.appcelerator.com/v1/objects/
	ARROWDB1_APIKEY=abcdefghijklmnopqrstuvwxyz1234567890
	ARROWDB1_SESSION_ID=abcdefghijklmnopqrstuvwxyz1234567890

Specify logz.io key info in the .env file

If you use logz.io or a similar distribution logging solution, you can specify the config settings here

	LOGZIO_APIKEY=abcdefghijklmnopqrstuvwxyz1234567890

Session Encryption Keys

If you wish to change the Session encryption keys used by API Builder, you can specify them in your .env file.

	SESSION_ENCRYPTION_KEY=njMgwXv3rZmnJ3liLFY9yNfJd5hod5RhLr6ZuXsIsIw=
	SESSION_SIGNATURE_KEY=Y79U/UsYvDSXRS1q/JOlavZraExuXIAnMvcDOZ8cdZSMwiuAQrZjoXFyqGmJ1eTL7p2oHJwhPrYi4g97l3Rzkw==
	SESSION_SECRET=PkK6LErMwTZcGzfSBKR39lDrfLpu3nmj

If you want to set these using Node.js, you can do so like this:

{
	encryptionKey: crypto.randomBytes(32).toString('base64'),
	signatureKey: crypto.randomBytes(64).toString('base64'),
	secret: crypto.randomBytes(24).toString('base64'),
}

Compile and run API locally.

Please see API Builder readme for more information about using API Builder

npm start

Publish to AMPLIFY ARS when you are ready to go live

npm install acs
acs login
acs publish

✨   Features

  • Administrators can edit Office capacities
  • Administrators can require users to answer questions upon launch of app
  • Employees can select/change office locations
  • Employees can hide/share their name and schedule with peers
  • Employees can see office capacities for upcoming days at selected office
  • Employees can see names of peers (that have enabled sharing) scheduled at office
  • Employees can select which days they will be at office

🎓   Learn More

⭐   Axway Developer Blog
⭐   Axway AMPLIFY API Builder
⭐   Axway Corporate Blog
⭐   Axway Developer YouTube Channel
⭐   Axway Developer Portal

📚   Related projects

⭐   AMPLIFY API Builder CLI - Installer for the AMPLIFY API Builder CLI tool
⭐   AMPLIFY Runtime CLI - Installer for the AMPLIFY Runtime CLI tool
⭐   Titanium Mobile - Open-source tool for building powerful, cross-platform native apps with JavaScript.
⭐   Titanium Alloy - MVC framework built on top of Titanium Mobile.
⭐   Appcelerator CLI - Installer for the Appcelerator Platform tool

🎟️   Modules for Node.js and Titanium Mobile

project description npm
@geek/cache Caching module for Node.js and Axway Titanium @geek/cache
@geek/jsonc JSONC and JSON utilities for JavaScript with Node.js and Axway Titanium. @geek/jsonc
@geek/jwt JWT parser for JavaScript Node.js and Titanium native mobile @geek/jwt
@geek/logger Logging module for Node.js and Axway Titanium @geek/logger
@geek/mobile Toolkit for creating, building, and managing mobile app projects. @geek/mobile
@geek/retry Retry JavaScript functions and promises in Node.js and Axway Titanium @geek/retry

📣   Feedback

Have an idea or a comment? Join in the conversation here!

©️   Legal

App Code is licensed under MIT by Axway, Inc. All Rights Reserved.

Alloy is developed by Appcelerator and the community and is Copyright (c) 2012-present by Axway, Inc. All Rights Reserved.

Alloy is made available under the Apache Public License, version 2. See their license file for more information.

Titanium is Copyright (c) 2008-present by Axway, Inc. All Rights Reserved.

Titanium is licensed under the Apache Public License (Version 2). Please see the the Titanium license file for the full license.

Appcelerator is a registered trademark of Axway, Inc. Titanium is a registered trademark of Axway, Inc. Please see the LEGAL information about using trademarks, privacy policy, terms of usage and other legal information at http://www.appcelerator.com/legal.