From 1de29634770e298d83a990ecdef41515e63ba059 Mon Sep 17 00:00:00 2001 From: Barry Low Date: Mon, 17 Dec 2018 23:04:35 -0800 Subject: [PATCH 1/4] fix imports --- api/src/graphql/resolvers/notifications/sendgrid.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/api/src/graphql/resolvers/notifications/sendgrid.js b/api/src/graphql/resolvers/notifications/sendgrid.js index c6dc4d5cb..4fb8a69e3 100644 --- a/api/src/graphql/resolvers/notifications/sendgrid.js +++ b/api/src/graphql/resolvers/notifications/sendgrid.js @@ -1,7 +1,7 @@ var jwt = require('jsonwebtoken') var axios = require('axios') -import { logger } from '../logger' +import { logger } from '../../../logger' export const notifications_sendTeamMemberInvite = (email, team) => { logger.info('notifications_sendTeamMemberInvite') @@ -123,5 +123,3 @@ const verifyInviteToken = async function(token) { logger.info(`verifyInviteToken: ${verifiedToken}`) return verifiedToken } - -module.exports = { sendTeamMemberInvite, sendTeamCreateConfirmation, verifyInviteToken } From 3eab841e639977092018ed0bc1aec21e69af39ad Mon Sep 17 00:00:00 2001 From: Barry Low Date: Fri, 11 Jan 2019 22:30:55 -0800 Subject: [PATCH 2/4] Convert to Superalgos project --- README.md | 8 +- api/README.md | 103 +---- client/README.md | 61 +-- client/package-lock.json | 393 +++++++++--------- client/package.json | 8 +- .../superalgos/Superalgos-logo-horz-dark.svg | 1 + .../superalgos/Superalgos-logo-horz-sm-t.png | Bin 0 -> 8720 bytes .../logos/superalgos/Superalgos-logo-horz.svg | 1 + .../superalgos/Superalgos-logo-vert-dark.svg | 1 + .../logos/superalgos/Superalgos-logo-vert.svg | 1 + client/src/views/dashboard/TeamMembers.js | 2 +- .../views/dashboard/components/DashTeam.js | 2 +- .../views/dashboard/components/DrawerLinks.js | 83 ---- .../dashboard/components/ManageFBEdit.js | 2 +- .../dashboard/components/ManageFBList.js | 2 +- .../dashboard/components/ManageMembersItem.js | 2 +- .../components/ManageMembersTeamItem.js | 2 +- .../dashboard/components/ManageTeamEdit.js | 2 +- .../components/ManageTeamMembersList.js | 2 +- .../dashboard/components/ManageTeamsList.js | 2 +- client/src/views/dashboard/settings.js | 2 +- .../components/ManageFBEdit.js | 2 +- .../components/ManageFBList.js | 2 +- client/src/views/financial-beings/index.js | 2 +- client/src/views/landing/index.js | 4 +- .../manage-teams/components/ManageTeamEdit.js | 2 +- .../components/ManageTeamMembersList.js | 2 +- .../components/ManageTeamProfileEdit.js | 2 +- .../components/ManageTeamProfileFBEdit.js | 2 +- .../components/ManageTeamsList.js | 2 +- client/src/views/manage-teams/index.js | 4 +- client/src/views/settings/index.js | 2 +- .../components/ManageMembersItem.js | 2 +- .../components/ManageMembersTeamItem.js | 2 +- client/src/views/team-members/index.js | 2 +- client/src/views/teams/AcceptTeamInvite.js | 2 +- .../src/views/teams/components/TeamsList.js | 2 +- client/src/views/teams/index.js | 2 +- 38 files changed, 263 insertions(+), 455 deletions(-) create mode 100644 client/src/assets/logos/superalgos/Superalgos-logo-horz-dark.svg create mode 100644 client/src/assets/logos/superalgos/Superalgos-logo-horz-sm-t.png create mode 100644 client/src/assets/logos/superalgos/Superalgos-logo-horz.svg create mode 100644 client/src/assets/logos/superalgos/Superalgos-logo-vert-dark.svg create mode 100644 client/src/assets/logos/superalgos/Superalgos-logo-vert.svg delete mode 100644 client/src/views/dashboard/components/DrawerLinks.js diff --git a/README.md b/README.md index e63b81cc5..e90d84ee9 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -# Advanced Algos Team Module -[![npm client version](https://badge.fury.io/js/%40advancedalgos%2Fteams-client.svg)](https://badge.fury.io/js/%40advancedalgos%2Fteams-client) +# Superalgos Team Module +[![npm client version](https://badge.fury.io/js/%40superalgos%2Fteams-client.svg)](https://badge.fury.io/js/%40superalgos%2Fteams-client) ## Introduction The general purpose of the team module is -This module explores crafting a strategic development pattern that upholds the Advanced Algos principles of rapid-evolution and automation built upon the values of collaboration, permissionless innovation, and accessibility. +This module explores crafting a strategic development pattern that upholds the Superalgos principles of rapid-evolution and automation built upon the values of collaboration, permissionless innovation, and accessibility. #### This is a monorepo containing the Team GraphQL API server, Team Client, and Team Prisma Schema @@ -17,7 +17,7 @@ Requirements: - NPM (comes installed with NodeJS) - [Github authorization via SSH](https://help.github.com/articles/connecting-to-github-with-ssh/): *optional* - removes need to authenticate every push or pull from GitHub especially as this is a private repo. -1. Clone this repository `git clone https://github.com/Algoteers/aa-team-module.git` +1. Clone this repository `git clone https://github.com/Superalgos/TeamsModule.git` 2. `cd aa-team-module` 5. Navigate to desired package in /packages and look at its README.md for further instructions. diff --git a/api/README.md b/api/README.md index 8dfe0fcc6..1059d7ad2 100644 --- a/api/README.md +++ b/api/README.md @@ -1,10 +1,8 @@ -# Advance Algos Team GraphQL API Server +# Superalgos Team GraphQL API Server -This is the Advanced Algos Team Module server-side GraphQL API server. We use Webpack 4 + Docker to develop locally, then build to a distribution bundle that can then be uploaded via FTP, git or used with a continuous integration workflow. +This is the Superalgos Team Module server-side GraphQL API server. We use Webpack 4 + Docker to develop locally, then build to a distribution bundle that can then be uploaded via FTP, git or used with a continuous integration workflow. -This modules client-side component is the [aateam-client package](../aateam-client#README). - -For more information on the general architecture and related technology of this module, please visit this repos [main documenation](../../docs#README). +This modules client-side frontend is in the [client directory](../client#README). ## Getting Started @@ -17,98 +15,31 @@ then npm run dev ``` -### Using Docker - -Get latest Docker and Docker Compose: [https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) - -#### Using Docker container for Development - -To run starter kit in development mode with hot code reload execute: - -Run docker container in background: - -``` -docker-compose up -d -``` - -If image issues, try running: -``` -docker-compose up --build -``` -then run -``` -docker-compose up -d -``` - -To view logs -``` -docker-compose logs -f -t -``` -Hit Ctrl + c to exit logs without stopping service - -To stop service -``` -docker-compose down -``` - ## Overview -The development architecture of the Algobots Community site is to allow both rapid initial development and ongoing rapid-evolution. As with any opinionated workflow, there's a learning curve, but the libraries and architecture of this application have been chosen to maximize collaboration, flexibility, and extensibility. +The Superalgos/TeamModule API is a GraphQL server that serves the necessary queries and mutations for Superalgos teams to browser clients and the Superalgos platform. ### Main Libraries -- [*Webpack 4*](https://webpack.js.org/):web application bundler. Allows us to us latest newer JS ECMA features that increase productivity and code clarity. Also allows additional libraries such as modular and programmable CSS via SASS/SCSS/LESS. Provides webserver for local development. -- [*Bulma CSS Framework*](https://bulma.io/documentation/): Bulma is a highly-customizable CSS-only framework allowing us to quickly prototype the layout of a webapp without being complicated by opinionated functionality represented in libraries such as Bootstrap or Material UI. Grants us the flexibility to create a custom look at top speed whilst minimizing baggage. -- [*HyperApp*](https://github.com/hyperapp/hyperapp): Allows a controlled Flux-styled approach to state-management and data-flow through components like React minus the excess boilerplate and learning curve. +- [*Prisma*](https://www.prisma.io/): GraphQL ORM for Postgres. +- [*Graphql*](https://graphql.org/): GraphQL is a query language for APIs and a runtime for fulfilling those queries. +- [*Apollo Server*](https://www.apollographql.com/docs/apollo-server/): Apollo Server is the best way to quickly build a production-ready, self-documenting API for GraphQL clients, using data from any source. - [*Docker*](https://www.docker.com/what-docker) ### File organization ``` . # Top level directory located at your choice +├── database # Database files for local Prisma development ├── src -│ ├── actions # Actions are functions that change the app state -│ ├── assets # images, logos and other static assets -│ ├── state # Schema of state — the single source of truth concerning app state. -│ ├── styles # SASS/SCSS styles -│ ├── utils # Local storage and other utils -│ └── views # Main folder for editing site content -│ ├─ nav # Nav components — header, footer, etc. -│ ├─ pages # Nav components — header, footer, etc. -│ │ ├─ landing # Homepage -│ │ │ ├─ sections # Homepage sections. Collated in its own index.js -│ │ │ └─ index.js # Main homepage component. Pulls in sections -│ │ └─ ... # Other page/component folders -│ └─ index.js # Main view container. Main router -├── html -│ └── index.html # index.html template pulled in by Webpack to attach transpiled bundles -├── index.js # JS entry point to website +│ ├── directives # Directives for role permissions +│ ├── errors # error handling +│ ├── generated # Auto-compile GraphQl schema from Prisma endpoint +│ ├── graphql # GraphQL API schema + resolvers +│ ├── logger # Utils for logging +│ ├── middleware # Server middleware +│ └── storage # Azure storage service +├── ApolloServer.js # Main Apollo Server setup │ -├── tools # utility scripts, mostly for webpack configuration -│ -├── node_modules # created by running `npm install` in this packages root dir -├── dist # created by `npm run develop` - a cache of bundled files served by Webpack for local development -└── build # created by `npm run build` - location of deployable production bundle +└── index.js # Server API entrypoint ``` - -## Deployment - -The simplest deployment is compiling/transpiling the site to a distribution bundle and then uploading the files in the bundle to a web-accessible folder or storage. - -For this application we use Webpack to transpile the application which combines and minimizes all code and assets into an optimized bundle without and of the development code and resources. - -To build, run: -``` - npm run build -``` -Looking in this packages directory, there should be a ./build directory with the final built files that can be uploaded. - -### Create Docker image - -``` - docker build -t aateamapi/prod . -``` - -### Deployment instructions - -Coming soon... diff --git a/client/README.md b/client/README.md index 243701ffd..25d2b170f 100644 --- a/client/README.md +++ b/client/README.md @@ -1,10 +1,8 @@ -# Advance Algos Team Client-side Application +# Superalgos Team Client-side Application -This is the Advanced Algos Team Module client-side web app a.k.a. single-page-application (SPA). We use Webpack 4 + Docker to develop locally, then build to a distribution bundle that can then be uploaded via FTP, git or used with a continuous integration workflow. +This is the Superalgos Team Module client-side web app a.k.a. single-page-application (SPA). We use Webpack 4 + Docker to develop locally, then build to a distribution bundle that can then be uploaded via FTP, git or used with a continuous integration workflow. -This webapp's server-side component is the [aateam-api package](../aateam-api#README). - -For more information on the general architecture and related technology of this module, please visit this repos [main documenation](../../docs#README). +This webapp's server-side component is the [apit directory](../api#README). ## Getting Started @@ -51,58 +49,9 @@ To stop service docker-compose down ``` -## Overview -The development architecture of the Algobots Community site is to allow both rapid initial development and ongoing rapid-evolution. As with any opinionated workflow, there's a learning curve, but the libraries and architecture of this application have been chosen to maximize collaboration, flexibility, and extensibility. - ### Main Libraries - [*Webpack 4*](https://webpack.js.org/):web application bundler. Allows us to us latest newer JS ECMA features that increase productivity and code clarity. Also allows additional libraries such as modular and programmable CSS via SASS/SCSS/LESS. Provides webserver for local development. -- [*Bulma CSS Framework*](https://bulma.io/documentation/): Bulma is a highly-customizable CSS-only framework allowing us to quickly prototype the layout of a webapp without being complicated by opinionated functionality represented in libraries such as Bootstrap or Material UI. Grants us the flexibility to create a custom look at top speed whilst minimizing baggage. -- [*HyperApp*](https://github.com/hyperapp/hyperapp): Allows a controlled Flux-styled approach to state-management and data-flow through components like React minus the excess boilerplate and learning curve. +- [*React*](https://reactjs.org/): A JavaScript library for building user interfaces. +- [*Material UI*](https://material-ui.com/): React components that implement Google's Material Design. - [*Docker*](https://www.docker.com/what-docker) - -### File organization - -``` -. # Top level directory located at your choice -├── src -│ ├── actions # Actions are functions that change the app state -│ ├── assets # images, logos and other static assets -│ ├── state # Schema of state — the single source of truth concerning app state. -│ ├── styles # SASS/SCSS styles -│ ├── utils # Local storage and other utils -│ └── views # Main folder for editing site content -│ ├─ nav # Nav components — header, footer, etc. -│ ├─ pages # Nav components — header, footer, etc. -│ │ ├─ landing # Homepage -│ │ │ ├─ sections # Homepage sections. Collated in its own index.js -│ │ │ └─ index.js # Main homepage component. Pulls in sections -│ │ └─ ... # Other page/component folders -│ └─ index.js # Main view container. Main router -├── html -│ └── index.html # index.html template pulled in by Webpack to attach transpiled bundles -├── index.js # JS entry point to website -│ -├── tools # utility scripts, mostly for webpack configuration -│ -├── node_modules # created by running `npm install` in this packages root dir -├── dist # created by `npm run develop` - a cache of bundled files served by Webpack for local development -└── build # created by `npm run build` - location of deployable production bundle - -``` - -## Deployment - -The simplest deployment is compiling/transpiling the site to a distribution bundle and then uploading the files in the bundle to a web-accessible folder or storage. - -For this application we use Webpack to transpile the application which combines and minimizes all code and assets into an optimized bundle without and of the development code and resources. - -To build, run: -``` - npm run build -``` -Looking in this packages directory, there should be a ./build directory with the final built files that can be uploaded. - -### Deployment instructions - -Coming soon... diff --git a/client/package-lock.json b/client/package-lock.json index 6bf4fc7cb..33443500f 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -1,152 +1,27 @@ { "name": "@advancedalgos/teams-client", - "version": "0.0.31", + "version": "0.0.32", "lockfileVersion": 1, "requires": true, "dependencies": { - "@advancedalgos/web-components": { - "version": "0.0.17", - "resolved": "https://registry.npmjs.org/@advancedalgos/web-components/-/web-components-0.0.17.tgz", - "integrity": "sha512-xD+0E4XBltgIxH/9TkzMS6a6iz7973YjxOzEr2O/D93lGIeHaYJQTDwykOLtSocuSaSSYRzxFlf82pVh22wLIA==", + "@azure/ms-rest-js": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-1.2.3.tgz", + "integrity": "sha512-eROQ034b+9v0Hd3wETKi/EwF5pqS3VRAk1Lm8iKVPOP8v30f6Zfzsi420MRfBMsbNCx/mE2N0L65Px7tvcGfVg==", "requires": { - "@azure/storage-blob": "^10.1.0-preview", - "@bearcanrun/react-image-cropper": "^1.3.6", - "@material-ui/core": "^3.6.1", - "@material-ui/icons": "^3.0.1", - "apollo-client": "^2.4.7", - "blob-util": "^2.0.2", - "browser-image-resizer": "^1.2.0", - "graphql": "^14.0.2", - "graphql-tag": "^2.10.0", - "prop-types": "^15.6.2", - "react": "^16.6.1", - "react-apollo": "^2.3.2", - "react-dom": "^16.6.1", - "react-dropzone": "^5.1.0", - "react-helmet": "^5.2.0", - "react-router-dom": "^4.3.1" + "axios": "^0.18.0", + "form-data": "^2.3.2", + "tough-cookie": "^2.4.3", + "tslib": "^1.9.2", + "uuid": "^3.2.1", + "xml2js": "^0.4.19" }, "dependencies": { - "@azure/storage-blob": { - "version": "10.1.0-preview", - "resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-10.1.0-preview.tgz", - "integrity": "sha512-vKY4dF8VCRCOOQ03Z1ResyjZbWg4jPOnQtRtlSEKE6a7WwFE3EuIbhE7OQfEihuNYyE+XWLkTjrHxeHDFx1hFg==", - "requires": { - "events": "3.0.0", - "ms-rest-js": "0.22.425", - "tslib": "^1.9.3" - } - }, - "@types/async": { - "version": "2.0.50", - "resolved": "https://registry.npmjs.org/@types/async/-/async-2.0.50.tgz", - "integrity": "sha512-VMhZMMQgV1zsR+lX/0IBfAk+8Eb7dPVMWiQGFAt3qjo5x7Ml6b77jUo0e1C3ToD+XRDXqtrfw+6AB0uUsPEr3Q==", - "optional": true - }, - "@types/node": { - "version": "9.6.40", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.40.tgz", - "integrity": "sha512-M3HHoXXndsho/sTbQML2BJr7/uwNhMg8P0D4lb+UsM65JQZx268faiz9hKpY4FpocWqpwlLwa8vevw8hLtKjOw==" - }, - "apollo-cache": { - "version": "1.1.21", - "resolved": "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.1.21.tgz", - "integrity": "sha512-5ErNb78KHtrJNimkDBTEigcvHkIqUmS7QJIk4lpZZ+XLVVgvk2fD+GhD1PLP+s8vHfAKVbO6vdbRxCCjGGrh5w==", - "requires": { - "apollo-utilities": "^1.0.26" - } - }, - "apollo-client": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/apollo-client/-/apollo-client-2.4.7.tgz", - "integrity": "sha512-6aAm+16AFBYZhJF8eKxrup6AbYni01InDiwTfZhMMTP2xaXQWjsQnfaHbI2oE+hd3+AZFy1drkse8RZKghR/WQ==", - "requires": { - "@types/async": "2.0.50", - "@types/zen-observable": "^0.8.0", - "apollo-cache": "1.1.21", - "apollo-link": "^1.0.0", - "apollo-link-dedup": "^1.0.0", - "apollo-utilities": "1.0.26", - "symbol-observable": "^1.0.2", - "zen-observable": "^0.8.0" - } - }, - "apollo-utilities": { - "version": "1.0.26", - "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.0.26.tgz", - "integrity": "sha512-URw7o3phymliqYCYatcird2YRPUU2eWCNvip64U9gQrX56mEfK4m99yBIDCMTpmcvOFsKLii1sIEZsHIs/bvnw==", - "requires": { - "fast-json-stable-stringify": "^2.0.0" - } - }, - "events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" - }, - "fbjs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", - "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", - "requires": { - "core-js": "^2.4.1", - "fbjs-css-vars": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" - } - }, - "hoist-non-react-statics": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz", - "integrity": "sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==", - "requires": { - "react-is": "^16.3.2" - } - }, - "ms-rest-js": { - "version": "0.22.425", - "resolved": "https://registry.npmjs.org/ms-rest-js/-/ms-rest-js-0.22.425.tgz", - "integrity": "sha512-PM9l0Si+T3kFxce8hwB/LlCxPJSHwSlFUSpjdJHzPvF+2w8lw7huE/FCPnRfdaUm7IikQESkJhydnbqX6g2OuQ==", - "requires": { - "@types/express": "^4.11.1", - "@types/form-data": "^2.2.1", - "@types/node": "^9.4.6", - "@types/uuid": "^3.4.3", - "axios": "^0.18.0", - "form-data": "^2.3.2", - "tough-cookie": "^2.4.3", - "tslib": "^1.9.2", - "uuid": "^3.2.1", - "xml2js": "^0.4.19" - } - }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, - "react-apollo": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/react-apollo/-/react-apollo-2.3.2.tgz", - "integrity": "sha512-3lU9iqmj4KMIZvlWWSuLihxMGLEAL6oNmnSTWrb3/mRP36Zy0zJD4rdaonDx4WzqFYQAnUPaOiFnHGp0UQUTwA==", - "requires": { - "fbjs": "^1.0.0", - "hoist-non-react-statics": "^3.0.0", - "invariant": "^2.2.2", - "lodash.flowright": "^3.5.0", - "lodash.isequal": "^4.5.0", - "prop-types": "^15.6.0" - } - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" - }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", @@ -2165,58 +2040,6 @@ } } }, - "@material-ui/core": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-3.6.1.tgz", - "integrity": "sha512-jmDtLQVXYHzvv6TljspaoHazGXkgmgnLUosFateBdB3Vva6WVJZ7WY5LaAGOqtuTEUW6KUKDumaGoOQs4xuJWA==", - "requires": { - "@babel/runtime": "7.1.2", - "@material-ui/utils": "^3.0.0-alpha.0", - "@types/jss": "^9.5.6", - "@types/react-transition-group": "^2.0.8", - "brcast": "^3.0.1", - "classnames": "^2.2.5", - "csstype": "^2.5.2", - "debounce": "^1.1.0", - "deepmerge": "^2.0.1", - "dom-helpers": "^3.2.1", - "hoist-non-react-statics": "^3.0.0", - "is-plain-object": "^2.0.4", - "jss": "^9.3.3", - "jss-camel-case": "^6.0.0", - "jss-default-unit": "^8.0.2", - "jss-global": "^3.0.0", - "jss-nested": "^6.0.1", - "jss-props-sort": "^6.0.0", - "jss-vendor-prefixer": "^7.0.0", - "keycode": "^2.1.9", - "normalize-scroll-left": "^0.1.2", - "popper.js": "^1.14.1", - "prop-types": "^15.6.0", - "react-event-listener": "^0.6.2", - "react-transition-group": "^2.2.1", - "recompose": "0.28.0 - 0.30.0", - "warning": "^4.0.1" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.2.tgz", - "integrity": "sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg==", - "requires": { - "regenerator-runtime": "^0.12.0" - } - }, - "hoist-non-react-statics": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz", - "integrity": "sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==", - "requires": { - "react-is": "^16.3.2" - } - } - } - }, "@material-ui/icons": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-3.0.1.tgz", @@ -2265,12 +2088,15 @@ } } }, - "@material-ui/utils": { - "version": "3.0.0-alpha.0", - "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-3.0.0-alpha.0.tgz", - "integrity": "sha512-HwC/pBcPG81UP4Jh0BaH2i4wAY9aDOrvL5+B/7J6cyFlG/Wip5Li+qI+GDlk9MR3kpG8v0sxfpWA0IlQYcHK6g==", + "@material-ui/system": { + "version": "3.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-3.0.0-alpha.1.tgz", + "integrity": "sha512-5EihYa6Ct5mA/shfFSjWO8e/whV+otbXAduYfiL34GH+Mh4vZs+wjcy0P80XA/cDIwSgkQ7vTvvY1x04AgIz4w==", "requires": { - "@babel/runtime": "7.1.2" + "@babel/runtime": "7.1.2", + "deepmerge": "^2.0.1", + "prop-types": "^15.6.0", + "warning": "^4.0.1" }, "dependencies": { "@babel/runtime": { @@ -2333,6 +2159,187 @@ } } }, + "@superalgos/web-components": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@superalgos/web-components/-/web-components-0.0.18.tgz", + "integrity": "sha512-siLammrkkntvYShqy8DjO6Zt6ZxHyZMHjb0jUhGUjIN3Ca4GiBbrSnCz3F3/1xx82mK6HK8lnGZyjQwWs4rJ8A==", + "requires": { + "@azure/storage-blob": "^10.1.0-preview", + "@bearcanrun/react-image-cropper": "^1.3.6", + "@material-ui/core": "^3.6.2", + "@material-ui/icons": "^3.0.1", + "apollo-client": "^2.4.7", + "blob-util": "^2.0.2", + "browser-image-resizer": "^1.2.0", + "graphql": "^14.0.2", + "graphql-tag": "^2.10.0", + "prop-types": "^15.6.2", + "react": "^16.6.1", + "react-apollo": "^2.3.2", + "react-dom": "^16.6.1", + "react-dropzone": "^5.1.0", + "react-helmet": "^5.2.0", + "react-router-dom": "^4.3.1" + }, + "dependencies": { + "@azure/storage-blob": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-10.3.0.tgz", + "integrity": "sha512-KZbJ3q8RpAdeIB5Em1lgXkiq7Mll9bSHHbHavOFMepkkF7HQa3Sez9FdkAVIkVVWK5YoBlshBGZ+mtiSQiS9Fw==", + "requires": { + "@azure/ms-rest-js": "1.2.3", + "events": "3.0.0", + "tslib": "^1.9.3" + } + }, + "@babel/runtime": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", + "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", + "requires": { + "regenerator-runtime": "^0.12.0" + } + }, + "@material-ui/core": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-3.8.3.tgz", + "integrity": "sha512-jgWx5uwpo+mCj+Y6JdygFRji8ZHDYZdbylqCXvpK42c2n6m/jsr4Y5Y7RnlgllkIqftKFGNnik/rd1gTLaF+Ig==", + "requires": { + "@babel/runtime": "^7.2.0", + "@material-ui/system": "^3.0.0-alpha.0", + "@material-ui/utils": "^3.0.0-alpha.2", + "@types/jss": "^9.5.6", + "@types/react-transition-group": "^2.0.8", + "brcast": "^3.0.1", + "classnames": "^2.2.5", + "csstype": "^2.5.2", + "debounce": "^1.1.0", + "deepmerge": "^3.0.0", + "dom-helpers": "^3.2.1", + "hoist-non-react-statics": "^3.2.1", + "is-plain-object": "^2.0.4", + "jss": "^9.8.7", + "jss-camel-case": "^6.0.0", + "jss-default-unit": "^8.0.2", + "jss-global": "^3.0.0", + "jss-nested": "^6.0.1", + "jss-props-sort": "^6.0.0", + "jss-vendor-prefixer": "^7.0.0", + "keycode": "^2.1.9", + "normalize-scroll-left": "^0.1.2", + "popper.js": "^1.14.1", + "prop-types": "^15.6.0", + "react-event-listener": "^0.6.2", + "react-transition-group": "^2.2.1", + "recompose": "0.28.0 - 0.30.0", + "warning": "^4.0.1" + } + }, + "@material-ui/utils": { + "version": "3.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-3.0.0-alpha.3.tgz", + "integrity": "sha512-rwMdMZptX0DivkqBuC+Jdq7BYTXwqKai5G5ejPpuEDKpWzi1Oxp+LygGw329FrKpuKeiqpcymlqJTjmy+quWng==", + "requires": { + "@babel/runtime": "^7.2.0", + "prop-types": "^15.6.0", + "react-is": "^16.6.3" + } + }, + "@types/async": { + "version": "2.0.50", + "resolved": "https://registry.npmjs.org/@types/async/-/async-2.0.50.tgz", + "integrity": "sha512-VMhZMMQgV1zsR+lX/0IBfAk+8Eb7dPVMWiQGFAt3qjo5x7Ml6b77jUo0e1C3ToD+XRDXqtrfw+6AB0uUsPEr3Q==", + "optional": true + }, + "apollo-cache": { + "version": "1.1.22", + "resolved": "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.1.22.tgz", + "integrity": "sha512-8PoxhQLISj2oHwT7i/r4l+ly4y3RKZls+dtXzAewu3U77P9dNZKhYkRNAhx9iEfsrNoHgXBV8vMp64hb1uYh+g==", + "requires": { + "apollo-utilities": "^1.0.27" + } + }, + "apollo-client": { + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/apollo-client/-/apollo-client-2.4.8.tgz", + "integrity": "sha512-OAFbCTnGPtaIv0j+EZYzY20d+MD2JNbJ/YXZ4s0/oZlSg87bb0gjcIbccw2lnytipymZcZNr5ArFFeh0saGEwA==", + "requires": { + "@types/async": "2.0.50", + "@types/zen-observable": "^0.8.0", + "apollo-cache": "1.1.22", + "apollo-link": "^1.0.0", + "apollo-link-dedup": "^1.0.0", + "apollo-utilities": "1.0.27", + "symbol-observable": "^1.0.2", + "zen-observable": "^0.8.0" + } + }, + "apollo-utilities": { + "version": "1.0.27", + "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.0.27.tgz", + "integrity": "sha512-nzrMQ89JMpNmYnVGJ4t8zN75gQbql27UDhlxNi+3OModp0Masx5g+fQmQJ5B4w2dpRuYOsdwFLmj3lQbwOKV1Q==", + "requires": { + "fast-json-stable-stringify": "^2.0.0" + } + }, + "deepmerge": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.0.0.tgz", + "integrity": "sha512-a8z8bkgHsAML+uHLqmMS83HHlpy3PvZOOuiTQqaa3wu8ZVg3h0hqHk6aCsGdOnZV2XMM/FRimNGjUh0KCcmHBw==" + }, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" + }, + "fbjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", + "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", + "requires": { + "core-js": "^2.4.1", + "fbjs-css-vars": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + } + }, + "hoist-non-react-statics": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz", + "integrity": "sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==", + "requires": { + "react-is": "^16.3.2" + } + }, + "react-apollo": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/react-apollo/-/react-apollo-2.3.3.tgz", + "integrity": "sha512-y4CwwmJjp0De/An7vrvEWOJ27lxmS/SXT8z22I8aOEBC2wzdcavDPjKzeLYJKs+hv1MGS3h84PSwFtlU4Em/bA==", + "requires": { + "fbjs": "^1.0.0", + "hoist-non-react-statics": "^3.0.0", + "invariant": "^2.2.2", + "lodash.flowright": "^3.5.0", + "lodash.isequal": "^4.5.0", + "prop-types": "^15.6.0" + } + }, + "react-is": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.7.0.tgz", + "integrity": "sha512-Z0VRQdF4NPDoI0tsXVMLkJLiwEBa+RP66g0xDHxgxysxSoCUccSten4RTF/UFvZF1dZvZ9Zu1sx+MDXwcOR34g==" + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + } + } + }, "@types/async": { "version": "2.0.49", "resolved": "https://registry.npmjs.org/@types/async/-/async-2.0.49.tgz", diff --git a/client/package.json b/client/package.json index 4624ee655..3862e7f37 100644 --- a/client/package.json +++ b/client/package.json @@ -1,7 +1,7 @@ { - "name": "@advancedalgos/teams-client", + "name": "@superalgos/teams-client", "version": "0.0.32", - "description": "Advanced Algos Team client-side web app", + "description": "Superalgos Project Team client-side web app", "main": "src/index.js", "scripts": { "dev": "NODE_ENV=development PORT=3001 webpack-serve --config ./webpack.config.js", @@ -16,7 +16,7 @@ ], "repository": "", "author": "Barry Low ", - "license": "AGPL-3.0", + "license": "READ LICENSE.MD", "devDependencies": { "@babel/cli": "^7.1.2", "@babel/core": "^7.1.2", @@ -69,8 +69,8 @@ "workbox-cli": "^3.6.2" }, "dependencies": { - "@advancedalgos/web-components": "0.0.18", "@azure/storage-blob": "^10.0.0-preview", + "@superalgos/web-components": "0.0.18", "apollo-cache-inmemory": "^1.3.5", "apollo-client": "^2.4.2", "apollo-link": "^1.2.3", diff --git a/client/src/assets/logos/superalgos/Superalgos-logo-horz-dark.svg b/client/src/assets/logos/superalgos/Superalgos-logo-horz-dark.svg new file mode 100644 index 000000000..1fc7d8615 --- /dev/null +++ b/client/src/assets/logos/superalgos/Superalgos-logo-horz-dark.svg @@ -0,0 +1 @@ +Superalgos-logo-horz-dark \ No newline at end of file diff --git a/client/src/assets/logos/superalgos/Superalgos-logo-horz-sm-t.png b/client/src/assets/logos/superalgos/Superalgos-logo-horz-sm-t.png new file mode 100644 index 0000000000000000000000000000000000000000..995d1953864d5ef842813de5559c8b31ceb06be3 GIT binary patch literal 8720 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 \ No newline at end of file diff --git a/client/src/assets/logos/superalgos/Superalgos-logo-vert-dark.svg b/client/src/assets/logos/superalgos/Superalgos-logo-vert-dark.svg new file mode 100644 index 000000000..d6d2619dd --- /dev/null +++ b/client/src/assets/logos/superalgos/Superalgos-logo-vert-dark.svg @@ -0,0 +1 @@ +Superalgos-logo-vert-dark \ No newline at end of file diff --git a/client/src/assets/logos/superalgos/Superalgos-logo-vert.svg b/client/src/assets/logos/superalgos/Superalgos-logo-vert.svg new file mode 100644 index 000000000..603af5ac3 --- /dev/null +++ b/client/src/assets/logos/superalgos/Superalgos-logo-vert.svg @@ -0,0 +1 @@ +Superalgos-logo-vert_1 \ No newline at end of file diff --git a/client/src/views/dashboard/TeamMembers.js b/client/src/views/dashboard/TeamMembers.js index 7c450150f..45aa825cd 100644 --- a/client/src/views/dashboard/TeamMembers.js +++ b/client/src/views/dashboard/TeamMembers.js @@ -5,7 +5,7 @@ import Typography from '@material-ui/core/Typography' import { withStyles } from '@material-ui/core/styles' // import ManageTeamMembersList from './components/ManageTeamMembersList' -import { MessageCard } from '@advancedalgos/web-components' +import { MessageCard } from '@superalgos/web-components' const styles = theme => ({ tableContainer: { diff --git a/client/src/views/dashboard/components/DashTeam.js b/client/src/views/dashboard/components/DashTeam.js index c1650d963..225f41cfa 100644 --- a/client/src/views/dashboard/components/DashTeam.js +++ b/client/src/views/dashboard/components/DashTeam.js @@ -11,7 +11,7 @@ import GET_TEAMS_BY_OWNER from '../../../graphql/teams/GetTeamsByOwnerQuery' import DashTeamItem from './DashTeamItem' import CreateTeamDialog from './CreateTeamDialog' -import { MessageCard } from '@advancedalgos/web-components' +import { MessageCard } from '@superalgos/web-components' import { isDefined, isString } from '../../../utils/js-helpers' import { getItem } from '../../../utils/local-storage' diff --git a/client/src/views/dashboard/components/DrawerLinks.js b/client/src/views/dashboard/components/DrawerLinks.js deleted file mode 100644 index 91f83641a..000000000 --- a/client/src/views/dashboard/components/DrawerLinks.js +++ /dev/null @@ -1,83 +0,0 @@ -import React from 'react' -import { Link } from 'react-router-dom' - -import ListItem from '@material-ui/core/ListItem' -import ListItemIcon from '@material-ui/core/ListItemIcon' -import ListItemText from '@material-ui/core/ListItemText' -import GroupIcon from '@material-ui/icons/Group' -import DashboardIcon from '@material-ui/icons/Dashboard' -import SettingsIcon from '@material-ui/icons/Settings' -import SupervisedUserCircleIcon from '@material-ui/icons/SupervisedUserCircle' -import LibraryBooksIcon from '@material-ui/icons/LibraryBooks' -import SentimentSatisfiedAltIcon from '@material-ui/icons/SentimentSatisfiedAlt' -import AndroidIcon from '@material-ui/icons/Android' - -const DashboardLink = props => -const TeamsLink = props => -const MembersLink = props => -const SettingsLink = props => -const FBLink = props => -const DocumentationLink = props => ( - -) -const SupportLink = props => ( - -) - -export const MainDrawerItems = ( -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-) - -export const SecondaryDrawerItems = ( -
- - - - - - - - - - - - -
-) - -export default MainDrawerItems diff --git a/client/src/views/dashboard/components/ManageFBEdit.js b/client/src/views/dashboard/components/ManageFBEdit.js index 39434562b..cf6d17d6d 100644 --- a/client/src/views/dashboard/components/ManageFBEdit.js +++ b/client/src/views/dashboard/components/ManageFBEdit.js @@ -13,7 +13,7 @@ import DialogContentText from '@material-ui/core/DialogContentText' import DialogTitle from '@material-ui/core/DialogTitle' import Typography from '@material-ui/core/Typography' -import { MessageCard, ImageUpload } from '@advancedalgos/web-components' +import { MessageCard, ImageUpload } from '@superalgos/web-components' import UPDATE_FB from '../../../graphql/teams/UpdateFBMutation' import GET_TEAMS_BY_OWNER from '../../../graphql/teams/GetTeamsByOwnerQuery' diff --git a/client/src/views/dashboard/components/ManageFBList.js b/client/src/views/dashboard/components/ManageFBList.js index 6cabe0949..e3692f81d 100644 --- a/client/src/views/dashboard/components/ManageFBList.js +++ b/client/src/views/dashboard/components/ManageFBList.js @@ -4,7 +4,7 @@ import { Query } from 'react-apollo' import { withStateHandlers, lifecycle, compose } from 'recompose' import Grid from '@material-ui/core/Grid' -import { MessageCard } from '@advancedalgos/web-components' +import { MessageCard } from '@superalgos/web-components' import { withStyles } from '@material-ui/core/styles' import { isDefined, isString } from '../../../utils/js-helpers' diff --git a/client/src/views/dashboard/components/ManageMembersItem.js b/client/src/views/dashboard/components/ManageMembersItem.js index a3116f048..268a3f5ec 100644 --- a/client/src/views/dashboard/components/ManageMembersItem.js +++ b/client/src/views/dashboard/components/ManageMembersItem.js @@ -7,7 +7,7 @@ import Typography from '@material-ui/core/Typography' import ManageMemberDelete from './ManageMemberDelete' import ManageMemberRole from './ManageMemberRole' import ManageMemberStatus from './ManageMemberStatus' -import { MessageCard } from '@advancedalgos/web-components' +import { MessageCard } from '@superalgos/web-components' import log from '../../../utils/log' diff --git a/client/src/views/dashboard/components/ManageMembersTeamItem.js b/client/src/views/dashboard/components/ManageMembersTeamItem.js index a7a88c384..8738b9108 100644 --- a/client/src/views/dashboard/components/ManageMembersTeamItem.js +++ b/client/src/views/dashboard/components/ManageMembersTeamItem.js @@ -10,7 +10,7 @@ import Typography from '@material-ui/core/Typography' import InviteMemberDialog from './InviteMemberDialog' import ManageMembersItem from './ManageMembersItem' -import { MessageCard } from '@advancedalgos/web-components' +import { MessageCard } from '@superalgos/web-components' import log from '../../../utils/log' diff --git a/client/src/views/dashboard/components/ManageTeamEdit.js b/client/src/views/dashboard/components/ManageTeamEdit.js index 9574b700f..23e1411c3 100644 --- a/client/src/views/dashboard/components/ManageTeamEdit.js +++ b/client/src/views/dashboard/components/ManageTeamEdit.js @@ -13,7 +13,7 @@ import DialogContentText from '@material-ui/core/DialogContentText' import DialogTitle from '@material-ui/core/DialogTitle' import Typography from '@material-ui/core/Typography' -import { MessageCard, ImageUpload } from '@advancedalgos/web-components' +import { MessageCard, ImageUpload } from '@superalgos/web-components' import log from '../../../utils/log' diff --git a/client/src/views/dashboard/components/ManageTeamMembersList.js b/client/src/views/dashboard/components/ManageTeamMembersList.js index b6e6e9345..426974926 100644 --- a/client/src/views/dashboard/components/ManageTeamMembersList.js +++ b/client/src/views/dashboard/components/ManageTeamMembersList.js @@ -12,7 +12,7 @@ import { getItem } from '../../../utils/local-storage' import GET_TEAMS_BY_OWNER from '../../../graphql/teams/GetTeamsByOwnerQuery' import ManageMembersTeamItem from './ManageMembersTeamItem' -import { MessageCard } from '@advancedalgos/web-components' +import { MessageCard } from '@superalgos/web-components' import log from '../../../utils/log' diff --git a/client/src/views/dashboard/components/ManageTeamsList.js b/client/src/views/dashboard/components/ManageTeamsList.js index 8d4283757..187798cef 100644 --- a/client/src/views/dashboard/components/ManageTeamsList.js +++ b/client/src/views/dashboard/components/ManageTeamsList.js @@ -4,7 +4,7 @@ import { Query } from 'react-apollo' import { withStateHandlers, lifecycle, compose } from 'recompose' import Grid from '@material-ui/core/Grid' -import { MessageCard } from '@advancedalgos/web-components' +import { MessageCard } from '@superalgos/web-components' import { withStyles } from '@material-ui/core/styles' import { isDefined, isString } from '../../../utils/js-helpers' diff --git a/client/src/views/dashboard/settings.js b/client/src/views/dashboard/settings.js index 8dc1d315f..339bc486f 100644 --- a/client/src/views/dashboard/settings.js +++ b/client/src/views/dashboard/settings.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types' import Typography from '@material-ui/core/Typography' import { withStyles } from '@material-ui/core/styles' -import { MessageCard } from '@advancedalgos/web-components' +import { MessageCard } from '@superalgos/web-components' const styles = theme => ({ tableContainer: { diff --git a/client/src/views/financial-beings/components/ManageFBEdit.js b/client/src/views/financial-beings/components/ManageFBEdit.js index e8f69bd65..492be0071 100644 --- a/client/src/views/financial-beings/components/ManageFBEdit.js +++ b/client/src/views/financial-beings/components/ManageFBEdit.js @@ -13,7 +13,7 @@ import DialogContentText from '@material-ui/core/DialogContentText' import DialogTitle from '@material-ui/core/DialogTitle' import Typography from '@material-ui/core/Typography' -import { ImageUpload } from '@advancedalgos/web-components' +import { ImageUpload } from '@superalgos/web-components' import UPDATE_FB from '../../../graphql/teams/UpdateFBMutation' import GET_TEAMS_BY_OWNER from '../../../graphql/teams/GetTeamsByOwnerQuery' diff --git a/client/src/views/financial-beings/components/ManageFBList.js b/client/src/views/financial-beings/components/ManageFBList.js index 69ca35323..d17018a25 100644 --- a/client/src/views/financial-beings/components/ManageFBList.js +++ b/client/src/views/financial-beings/components/ManageFBList.js @@ -5,7 +5,7 @@ import { Query } from 'react-apollo' import Grid from '@material-ui/core/Grid' import Paper from '@material-ui/core/Paper' import Typography from '@material-ui/core/Typography' -import { MessageCard } from '@advancedalgos/web-components' +import { MessageCard } from '@superalgos/web-components' import { withStyles } from '@material-ui/core/styles' import GET_TEAMS_BY_OWNER from '../../../graphql/teams/GetTeamsByOwnerQuery' diff --git a/client/src/views/financial-beings/index.js b/client/src/views/financial-beings/index.js index a3cf773ad..5cdfde9b5 100644 --- a/client/src/views/financial-beings/index.js +++ b/client/src/views/financial-beings/index.js @@ -14,7 +14,7 @@ const styles = theme => ({ const FinancialBeings = ({ classes }) => (
- +
) diff --git a/client/src/views/landing/index.js b/client/src/views/landing/index.js index 170caadf0..baed9d7ad 100644 --- a/client/src/views/landing/index.js +++ b/client/src/views/landing/index.js @@ -23,7 +23,7 @@ const styles = theme => ({ const Landing = ({ classes, ...props }) => ( - +
Welcome to the Teams Module! @@ -33,7 +33,7 @@ const Landing = ({ classes, ...props }) => (
- One of the core propositions of Advanced Algos revolves around people teaming up to breed financial beings and compete in algorithmic trading competitions. Both developing and competing are team activities. + One of the core propositions of the Superalgos projects revolves around people teaming up to breed financial beings and compete in algorithmic trading competitions. Both developing and competing are team activities. If you are a user of the system but still haven’t joined any teams, the Teams Module is the right place to find one or even create your own. diff --git a/client/src/views/manage-teams/components/ManageTeamEdit.js b/client/src/views/manage-teams/components/ManageTeamEdit.js index 7e575eab0..ca84d1388 100644 --- a/client/src/views/manage-teams/components/ManageTeamEdit.js +++ b/client/src/views/manage-teams/components/ManageTeamEdit.js @@ -13,7 +13,7 @@ import DialogContentText from '@material-ui/core/DialogContentText' import DialogTitle from '@material-ui/core/DialogTitle' import Typography from '@material-ui/core/Typography' -import { ImageUpload } from '@advancedalgos/web-components' +import { ImageUpload } from '@superalgos/web-components' import UPDATE_TEAM_PROFILE from '../../../graphql/teams/UpdateTeamProfileMutation' import GET_TEAMS_BY_OWNER from '../../../graphql/teams/GetTeamsByOwnerQuery' diff --git a/client/src/views/manage-teams/components/ManageTeamMembersList.js b/client/src/views/manage-teams/components/ManageTeamMembersList.js index 4c1916559..7b68b8006 100644 --- a/client/src/views/manage-teams/components/ManageTeamMembersList.js +++ b/client/src/views/manage-teams/components/ManageTeamMembersList.js @@ -12,7 +12,7 @@ import { getItem } from '../../../utils/local-storage' import GET_TEAMS_BY_OWNER from '../../../graphql/teams/GetTeamsByOwnerQuery' import ManageMembersTeamItem from './ManageMembersTeamItem' -import { MessageCard } from '@advancedalgos/web-components' +import { MessageCard } from '@superalgos/web-components' import log from '../../../utils/log' diff --git a/client/src/views/manage-teams/components/ManageTeamProfileEdit.js b/client/src/views/manage-teams/components/ManageTeamProfileEdit.js index 027017a76..096e394ab 100644 --- a/client/src/views/manage-teams/components/ManageTeamProfileEdit.js +++ b/client/src/views/manage-teams/components/ManageTeamProfileEdit.js @@ -7,7 +7,7 @@ import Grid from '@material-ui/core/Grid' import TextField from '@material-ui/core/TextField' import Typography from '@material-ui/core/Typography' -import { ImageUpload } from '@advancedalgos/web-components' +import { ImageUpload } from '@superalgos/web-components' import UPDATE_TEAM_PROFILE from '../../../graphql/teams/UpdateTeamProfileMutation' import GET_TEAMS_BY_OWNER from '../../../graphql/teams/GetTeamsByOwnerQuery' diff --git a/client/src/views/manage-teams/components/ManageTeamProfileFBEdit.js b/client/src/views/manage-teams/components/ManageTeamProfileFBEdit.js index 9362784d2..01bcedc85 100644 --- a/client/src/views/manage-teams/components/ManageTeamProfileFBEdit.js +++ b/client/src/views/manage-teams/components/ManageTeamProfileFBEdit.js @@ -10,7 +10,7 @@ import Dialog from '@material-ui/core/Dialog' import DialogContent from '@material-ui/core/DialogContent' import Typography from '@material-ui/core/Typography' -import { ImageUpload } from '@advancedalgos/web-components' +import { ImageUpload } from '@superalgos/web-components' import UPDATE_FB from '../../../graphql/teams/UpdateFBMutation' import GET_TEAMS_BY_OWNER from '../../../graphql/teams/GetTeamsByOwnerQuery' diff --git a/client/src/views/manage-teams/components/ManageTeamsList.js b/client/src/views/manage-teams/components/ManageTeamsList.js index 264acc851..0e5950467 100644 --- a/client/src/views/manage-teams/components/ManageTeamsList.js +++ b/client/src/views/manage-teams/components/ManageTeamsList.js @@ -5,7 +5,7 @@ import { Query } from 'react-apollo' import Grid from '@material-ui/core/Grid' import Paper from '@material-ui/core/Paper' import Typography from '@material-ui/core/Typography' -import { MessageCard } from '@advancedalgos/web-components' +import { MessageCard } from '@superalgos/web-components' import { withStyles } from '@material-ui/core/styles' import { isEmpty } from '../../../utils/js-helpers' diff --git a/client/src/views/manage-teams/index.js b/client/src/views/manage-teams/index.js index 28cb2c10c..3a5fea7ae 100644 --- a/client/src/views/manage-teams/index.js +++ b/client/src/views/manage-teams/index.js @@ -10,8 +10,8 @@ const ManageTeams = ({ match, ...props }) => ( size={match.params.slug !== undefined ? 'small' : 'medium'} title='Your Teams' text='Create and manage your teams here.' - backgroundUrl='https://advancedalgos.net/img/photos/teams.jpg' - /> + backgroundUrl='https://superalgos.net/img/photos/teams.jpg' + />
diff --git a/client/src/views/settings/index.js b/client/src/views/settings/index.js index 4dee030b3..2963580a0 100644 --- a/client/src/views/settings/index.js +++ b/client/src/views/settings/index.js @@ -5,7 +5,7 @@ import Typography from '@material-ui/core/Typography' import { withStyles } from '@material-ui/core/styles' import Grid from '@material-ui/core/Grid' -import { MessageCard } from '@advancedalgos/web-components' +import { MessageCard } from '@superalgos/web-components' const styles = theme => ({ heroContent: { diff --git a/client/src/views/team-members/components/ManageMembersItem.js b/client/src/views/team-members/components/ManageMembersItem.js index a3116f048..268a3f5ec 100644 --- a/client/src/views/team-members/components/ManageMembersItem.js +++ b/client/src/views/team-members/components/ManageMembersItem.js @@ -7,7 +7,7 @@ import Typography from '@material-ui/core/Typography' import ManageMemberDelete from './ManageMemberDelete' import ManageMemberRole from './ManageMemberRole' import ManageMemberStatus from './ManageMemberStatus' -import { MessageCard } from '@advancedalgos/web-components' +import { MessageCard } from '@superalgos/web-components' import log from '../../../utils/log' diff --git a/client/src/views/team-members/components/ManageMembersTeamItem.js b/client/src/views/team-members/components/ManageMembersTeamItem.js index a7a88c384..8738b9108 100644 --- a/client/src/views/team-members/components/ManageMembersTeamItem.js +++ b/client/src/views/team-members/components/ManageMembersTeamItem.js @@ -10,7 +10,7 @@ import Typography from '@material-ui/core/Typography' import InviteMemberDialog from './InviteMemberDialog' import ManageMembersItem from './ManageMembersItem' -import { MessageCard } from '@advancedalgos/web-components' +import { MessageCard } from '@superalgos/web-components' import log from '../../../utils/log' diff --git a/client/src/views/team-members/index.js b/client/src/views/team-members/index.js index 35349f402..4a97162f9 100644 --- a/client/src/views/team-members/index.js +++ b/client/src/views/team-members/index.js @@ -14,7 +14,7 @@ const styles = theme => ({ const TeamMembers = ({ classes }) => (
- +
) diff --git a/client/src/views/teams/AcceptTeamInvite.js b/client/src/views/teams/AcceptTeamInvite.js index 58fa28efa..7850a46d5 100644 --- a/client/src/views/teams/AcceptTeamInvite.js +++ b/client/src/views/teams/AcceptTeamInvite.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types' import { parse } from '../../utils/js-helpers' import log from '../../utils/log' -import { MessageCard } from '@advancedalgos/web-components' +import { MessageCard } from '@superalgos/web-components' class AcceptTeamInvite extends Component { render () { diff --git a/client/src/views/teams/components/TeamsList.js b/client/src/views/teams/components/TeamsList.js index db813ea27..c8a316dc7 100644 --- a/client/src/views/teams/components/TeamsList.js +++ b/client/src/views/teams/components/TeamsList.js @@ -5,7 +5,7 @@ import { Query } from 'react-apollo' import Typography from '@material-ui/core/Typography' import Grid from '@material-ui/core/Grid' import { withStyles } from '@material-ui/core/styles' -import { MessageCard } from '@advancedalgos/web-components' +import { MessageCard } from '@superalgos/web-components' import GET_ALL_TEAMS_QUERY from '../../../graphql/teams/GetAllTeamsQuery' diff --git a/client/src/views/teams/index.js b/client/src/views/teams/index.js index b928a03be..bec9b1368 100644 --- a/client/src/views/teams/index.js +++ b/client/src/views/teams/index.js @@ -31,7 +31,7 @@ const styles = theme => ({ const Teams = ({ classes, match }) => ( - +
From f5660cefd8391e5ce33ce38aa27acf1ef349a3bb Mon Sep 17 00:00:00 2001 From: Barry Low Date: Sun, 13 Jan 2019 09:58:33 -0800 Subject: [PATCH 3/4] Update license + contributing --- CONTRIBUTING.md | 36 ++++++++++++++++++------------------ LICENSE | 37 +++++++++++++++++-------------------- 2 files changed, 35 insertions(+), 38 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 311653120..8eaa96740 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,45 +1,45 @@ # Contributing -We are thrilled you are interested in contributing to this repository. Your help may be essential to the project's success and we want you in! +We are thrilled you are interested in contributing to this repository. Your help may be essential to the project's success and we want you in! -Advanced Algos LTD is a startup, currently at a very early stage. Although this repository is not open source software yet, we do welcome contributions from the community. +Superalgos is a collective project, currently at a very early stage. Although this repository is not open source software yet, we do welcome contributions from the community. -Contributions are deemed _voluntary work_. There might be incentives in place for certain kinds of contributions. Contact us for more information in this regards. +Contributions are deemed _voluntary work_. There might be incentives in place for certain kinds of contributions. Contact us for more information in this regard. In any case, contributors agree to provide an express grant of patent rights for their contributions. Submitting Pull Requests to this repository represents an express agreement with the terms of our Balanced Contributor Intellectual Property Agreement. This agreement is a direct implementation of GitHub's [Balanced Employee Intellectual Property Agreement 1.0.1](https://github.com/github/balanced-employee-ip-agreement/blob/master/Balanced_Employee_IP_Agreement.md). # Balanced Contributor Intellectual Property Agreement 1.0.1 -This BALANCED CONTRIBUTOR INTELLECTUAL PROPERTY AGREEMENT is between person or team submitting Pull Requests to this repository and Advanced Algos LTD ("Company"). +This BALANCED CONTRIBUTOR INTELLECTUAL PROPERTY AGREEMENT is between person or team submitting Pull Requests to this repository and Superalgos.org ("Project"). -**What is this?** This is the Company's Intellectual Property Agreement ("Agreement"). If you've worked in the technology space before, there's a good chance that you've run across one or more of these in the past. This document is the official, entire and exclusive agreement on what intellectual property ("IP") is yours, and what belongs to the Company. +**What is this?** This is the Project's Intellectual Property Agreement ("Agreement"). If you've worked in the technology space before, there's a good chance that you've run across one or more of these in the past. This document is the official, entire and exclusive agreement on what intellectual property ("IP") is yours, and what belongs to the Project. -**Why is this?** The Company needs to be clear on what IP it owns and has rights to. Its customers, contributors, and investors depend on the Company having the legal rights to the products and services it is providing so that the Company can continue operating and doing business. +**Why is this?** The Project needs to be clear on what IP it owns and has rights to. Its customers, contributors, and investors depend on the Project having the legal rights to the products and services it is providing so that the Project can continue operating and doing business. -The Company also believes that it's important to be clear on what it doesn't own. The Company doesn't want you looking over your shoulder every time you work on something personal or worrying that the Company will someday seize your open source non-lethal mousetrap simulation software. In other words, the Company isn't interested in appropriating your personal projects. +The Project also believes that it's important to be clear on what it doesn't own. The Project doesn't want you looking over your shoulder every time you work on something personal or worrying that the Project will someday seize your open source non-lethal mousetrap simulation software. In other words, the Project isn't interested in appropriating your personal projects. -**Read this.** Please read this document and be sure you understand it before you submit any Pull Requests. Due to legal risk and corporate obligations, the Company cannot, by and large, negotiate its terms. If you feel you have a particular circumstance that keeps you from signing, please let the Company's legal department ("Legal") know. And, of course, you're always free and encouraged to get your own legal counsel to explain anything you're not clear on. +**Read this.** Please read this document and be sure you understand it before you submit any Pull Requests. Due to legal risk and corporate obligations, the Project cannot, by and large, negotiate its terms. If you feel you have a particular circumstance that keeps you from signing, please let the Project's legal department ("Legal") know. And, of course, you're always free and encouraged to get your own legal counsel to explain anything you're not clear on. Cool? Then, by submitting your first Pull Request, and as a condition of your contribution, you agree to the following: -1. **What the Company owns.** The Company owns any IP ("Company IP") that you create, or help create _as its contributor_, but only if it meets one or more of these additional conditions: The IP was (i) related to an existing or prospective Company product or service at the time you developed, invented, or created it, (ii) developed for use by the Company, or (iii) developed or promoted with existing Company IP or with the Company's endorsement. You hereby grant and assign, and will grant and assign, to the Company all rights and interests in all Company IP. +1. **What the Project owns.** The Project owns any IP ("Project IP") that you create, or help create _as its contributor_, but only if it meets one or more of these additional conditions: The IP was (i) related to an existing or prospective Project product or service at the time you developed, invented, or created it, (ii) developed for use by the Project, or (iii) developed or promoted with existing Project IP or with the Project's endorsement. You hereby grant and assign, and will grant and assign, to the Project all rights and interests in all Project IP. - "Company IP" includes concepts, designs, developments, discoveries, ideas, improvements, inventions, trade secrets, trademarks, and works of authorship. + "Project IP" includes concepts, designs, developments, discoveries, ideas, improvements, inventions, trade secrets, trademarks, and works of authorship. -2. **What the Company doesn't own.** If you create IP that doesn't fit into one of the categories listed above, the Company doesn't own it. In other words, the Company doesn't own concepts, designs, developments, discoveries, ideas, improvements, inventions, trade secrets, trademarks, or works of authorship that you develop, invent, or create that do not meet any of the conditions in Section 1. +2. **What the Project doesn't own.** If you create IP that doesn't fit into one of the categories listed above, the Project doesn't own it. In other words, the Project doesn't own concepts, designs, developments, discoveries, ideas, improvements, inventions, trade secrets, trademarks, or works of authorship that you develop, invent, or create that do not meet any of the conditions in Section 1. -3. **Contribution of your IP to Company projects.** If you include your own IP – such as IP you created prior to working for the Company – into a Company product or service, it's still yours, of course, but you grant the Company a non-exclusive, irrevocable, fully paid-up, royalty-free, perpetual, sublicensable, transferable, worldwide license to use it without restriction in any way or implementation, in modified form, or as is, by itself, or incorporated into another product or service ("License"). If you include your name in any project over which the Company would have rights under this Agreement, such as in a copyright notice or a comment in code or documentation, then the License covers the rights associated with that use of your name as well. +3. **Contribution of your IP to Project projects.** If you include your own IP � such as IP you created prior to working for the Project � into a Project product or service, it's still yours, of course, but you grant the Project a non-exclusive, irrevocable, fully paid-up, royalty-free, perpetual, sub-licensable, transferable, worldwide license to use it without restriction in any way or implementation, in modified form, or as is, by itself, or incorporated into another product or service ("License"). If you include your name in any project over which the Project would have rights under this Agreement, such as in a copyright notice or a comment in code or documentation, then the License covers the rights associated with that use of your name as well. -4. **Your contributions to non-Company projects.** The Company recognizes that you may be engaged in work that requires you to submit IP to entities other than the Company, such as open source projects used by the Company. Please make sure that Legal is aware of what you're working on so that Legal can help with any licensing issues. If any project asks you to sign a contribution agreement, you should check with Legal before doing so. These agreements may be legally binding on the Company and so should be run through Legal first. +4. **Your contributions to non-Project projects.** The Project recognizes that you may be engaged in work that requires you to submit IP to entities other than the Project, such as open source projects used by the Project. Please make sure that Legal is aware of what you're working on so that Legal can help with any licensing issues. If any project asks you to sign a contribution agreement, you should check with Legal before doing so. These agreements may be legally binding on the Project and so should be run through Legal first. -5. **Voluntary Works** All Company IP that you are involved with or create as part of your work for the Company is voluntary work which does not require compensation. There might be incentives in place for certain kinds of contributions. Feel free to contact the Company to learn more. +5. **Voluntary Works** All Project IP that you are involved with or create as part of your work for the Project is voluntary work which does not require compensation. There might be incentives in place for certain kinds of contributions. Feel free to contact the Project to learn more. 6. **No conflicts.** You agree that you don't have any outstanding agreements or obligations that conflict with those in this Agreement, and that you won't enter into conflicting agreements in the future. -7. **IP protection.** The Company might someday need to show the work that went into the development of IP that it uses or has used, or to make government filings to establish that it owns the IP or has rights over it. To help in those situations, you agree not to destroy any records you maintain relating to the development of any Company IP or IP under License (together, "All IP"), and, if the Company asks, to provide those records to the Company. You agree to help the Company secure and defend its rights in All IP. For your help the Company will compensate you at a reasonable rate. If the Company is unable to secure your help, you authorize the Company to act on your behalf (as your agent and attorney-in-fact) in securing all rights related to All IP. +7. **IP protection.** The Project might someday need to show the work that went into the development of IP that it uses or has used, or to make government filings to establish that it owns the IP or has rights over it. To help in those situations, you agree not to destroy any records you maintain relating to the development of any Project IP or IP under License (together, "All IP"), and, if the Project asks, to provide those records to the Project. You agree to help the Project secure and defend its rights in All IP. For your help the Project will compensate you at a reasonable rate. If the Project is unable to secure your help, you authorize the Project to act on your behalf (as your agent and attorney-in-fact) in securing all rights related to All IP. -8. **Confidentiality.** As an contributor or contractor of the Company, you will have access to sensitive confidential information that is important to the Company's business. You are responsible for keeping this information confidential, including after you end your work for the Company. +8. **Confidentiality.** As an contributor or contractor of the Project, you will have access to sensitive confidential information that is important to the Project's business. You are responsible for keeping this information confidential, including after you end your work for the Project. - "Confidential Information" includes non-public technical details about our products or services, financial information, business strategies and forecasts, customer data, or any other information, data or know-how that is valuable to the Company because it is not publicly known. + "Confidential Information" includes non-public technical details about our products or services, financial information, business strategies and forecasts, customer data, or any other information, data or know-how that is valuable to the Project because it is not publicly known. - The Company's Confidential Information is sensitive and we expect that you'll treat it as such. You agree to only use the Company's Confidential Information for the purpose of performing your contribution and for the benefit of the Company. You will do your best to keep Confidential Information secret. If you are not sure if something is Confidential Information, you should assume that it is, until you can confirm otherwise. \ No newline at end of file + The Project's Confidential Information is sensitive and we expect that you'll treat it as such. You agree to only use the Project's Confidential Information for the purpose of performing your contribution and for the benefit of the Project. You will do your best to keep Confidential Information secret. If you are not sure if something is Confidential Information, you should assume that it is, until you can confirm otherwise. diff --git a/LICENSE b/LICENSE index c049df9cb..923a8be14 100644 --- a/LICENSE +++ b/LICENSE @@ -1,42 +1,39 @@ -COPYRIGHT NOTICE +COPYRIGHT NOTICE -© Copyright 2018 Advanced Algos LTD. +© Copyright 2019 Superalgos.org LICENSE NOTICE -Advanced Algos LTD. is a startup, currently at a very early stage. Because certain aspects of -the business are still not clearly defined, we have chosen to --temporarily-- grant a -restrictive license for the use of this repository, until those business aspects are clarified -and a proper open source license can be granted. +Superalgos is a collaborative project currently at a very early stage. Because certain aspects of +the project are still not clearly defined, we have chosen to --temporarily-- grant a restrictive +license for the use of this repository, until those aspects are clarified and a proper open source +license can be granted. -Advanced Algos LTD. is publishing the code of this software for several reasons. However, -it shall not be considered free software yet. Advanced Algos LTD. is a for-profit company -in the crypto space and this module is still proprietary software. +Superalgos.org is publishing the code of this software for several reasons. However, it shall not be considered free software yet. Superalgos is a collaborative project in the crypto space and this +software is still proprietary software. -The reasons for opening up the code of this module at this stage are the following: +The reasons for opening up the code of this software at this stage are the following: - * We believe that transparency is paramount to achieving our goals, so we want everyone - to be able to understand what this module does and how. Opening up the code of this module + * We believe that transparency is paramount to achieving our goals, so we want everyone to + be able to understand what this software does and how. Opening up the code of this software allows anyone to take a close look. - * We welcome contributions from the community. Contributions are regarded as voluntary work. + * We welcome contributions from the community. Contributions are regarded as voluntary work. There may be incentives in place for certain kinds of contributions. Contact us to learn more. Contributors agree to provide an express grant of patent rights for their contributions. LICENSE WORDING -Advanced Algos LTD. grants a limited license for the following uses: +Superalgos.org grants a limited license for the following uses: -1. CODE REVIEW AND AUDITS. You are granted permission to clone this repository to analyze, +1. CODE REVIEW AND AUDITS. You are granted permission to clone this repository to analyze, review or audit the code. -2. COLLABORATING WITH ADVANCED ALGOS LTD. You are granted permission to fork this repository - with the sole purpose of correcting bugs and developing functionality in agreement with - Advanced Algos LTD. By contributing to this repository you explicitely agree to the terms +2. COLLABORATING WITH Superalgos.org. You are granted permission to fork this repository + with the sole purpose of correcting bugs and developing functionality in agreement with + Superalgos.org. By contributing to this repository you explicitly agree to the terms detailed in CONTRIBUTING.MD. PLEASE SEE CONTRIBUTING.MD FOR MORE DETAILS ON THE IMPLICATIONS SURROUNDING YOUR CONTRIBUTIONS TO THIS REPOSITORY. - - From 10ba165e9ae7eb3781f87eb8f9625227fb9218ad Mon Sep 17 00:00:00 2001 From: Barry Low Date: Sun, 13 Jan 2019 10:12:01 -0800 Subject: [PATCH 4/4] Update sub-licenses --- api/CONTRIBUTING.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/api/CONTRIBUTING.md b/api/CONTRIBUTING.md index 311653120..8eaa96740 100644 --- a/api/CONTRIBUTING.md +++ b/api/CONTRIBUTING.md @@ -1,45 +1,45 @@ # Contributing -We are thrilled you are interested in contributing to this repository. Your help may be essential to the project's success and we want you in! +We are thrilled you are interested in contributing to this repository. Your help may be essential to the project's success and we want you in! -Advanced Algos LTD is a startup, currently at a very early stage. Although this repository is not open source software yet, we do welcome contributions from the community. +Superalgos is a collective project, currently at a very early stage. Although this repository is not open source software yet, we do welcome contributions from the community. -Contributions are deemed _voluntary work_. There might be incentives in place for certain kinds of contributions. Contact us for more information in this regards. +Contributions are deemed _voluntary work_. There might be incentives in place for certain kinds of contributions. Contact us for more information in this regard. In any case, contributors agree to provide an express grant of patent rights for their contributions. Submitting Pull Requests to this repository represents an express agreement with the terms of our Balanced Contributor Intellectual Property Agreement. This agreement is a direct implementation of GitHub's [Balanced Employee Intellectual Property Agreement 1.0.1](https://github.com/github/balanced-employee-ip-agreement/blob/master/Balanced_Employee_IP_Agreement.md). # Balanced Contributor Intellectual Property Agreement 1.0.1 -This BALANCED CONTRIBUTOR INTELLECTUAL PROPERTY AGREEMENT is between person or team submitting Pull Requests to this repository and Advanced Algos LTD ("Company"). +This BALANCED CONTRIBUTOR INTELLECTUAL PROPERTY AGREEMENT is between person or team submitting Pull Requests to this repository and Superalgos.org ("Project"). -**What is this?** This is the Company's Intellectual Property Agreement ("Agreement"). If you've worked in the technology space before, there's a good chance that you've run across one or more of these in the past. This document is the official, entire and exclusive agreement on what intellectual property ("IP") is yours, and what belongs to the Company. +**What is this?** This is the Project's Intellectual Property Agreement ("Agreement"). If you've worked in the technology space before, there's a good chance that you've run across one or more of these in the past. This document is the official, entire and exclusive agreement on what intellectual property ("IP") is yours, and what belongs to the Project. -**Why is this?** The Company needs to be clear on what IP it owns and has rights to. Its customers, contributors, and investors depend on the Company having the legal rights to the products and services it is providing so that the Company can continue operating and doing business. +**Why is this?** The Project needs to be clear on what IP it owns and has rights to. Its customers, contributors, and investors depend on the Project having the legal rights to the products and services it is providing so that the Project can continue operating and doing business. -The Company also believes that it's important to be clear on what it doesn't own. The Company doesn't want you looking over your shoulder every time you work on something personal or worrying that the Company will someday seize your open source non-lethal mousetrap simulation software. In other words, the Company isn't interested in appropriating your personal projects. +The Project also believes that it's important to be clear on what it doesn't own. The Project doesn't want you looking over your shoulder every time you work on something personal or worrying that the Project will someday seize your open source non-lethal mousetrap simulation software. In other words, the Project isn't interested in appropriating your personal projects. -**Read this.** Please read this document and be sure you understand it before you submit any Pull Requests. Due to legal risk and corporate obligations, the Company cannot, by and large, negotiate its terms. If you feel you have a particular circumstance that keeps you from signing, please let the Company's legal department ("Legal") know. And, of course, you're always free and encouraged to get your own legal counsel to explain anything you're not clear on. +**Read this.** Please read this document and be sure you understand it before you submit any Pull Requests. Due to legal risk and corporate obligations, the Project cannot, by and large, negotiate its terms. If you feel you have a particular circumstance that keeps you from signing, please let the Project's legal department ("Legal") know. And, of course, you're always free and encouraged to get your own legal counsel to explain anything you're not clear on. Cool? Then, by submitting your first Pull Request, and as a condition of your contribution, you agree to the following: -1. **What the Company owns.** The Company owns any IP ("Company IP") that you create, or help create _as its contributor_, but only if it meets one or more of these additional conditions: The IP was (i) related to an existing or prospective Company product or service at the time you developed, invented, or created it, (ii) developed for use by the Company, or (iii) developed or promoted with existing Company IP or with the Company's endorsement. You hereby grant and assign, and will grant and assign, to the Company all rights and interests in all Company IP. +1. **What the Project owns.** The Project owns any IP ("Project IP") that you create, or help create _as its contributor_, but only if it meets one or more of these additional conditions: The IP was (i) related to an existing or prospective Project product or service at the time you developed, invented, or created it, (ii) developed for use by the Project, or (iii) developed or promoted with existing Project IP or with the Project's endorsement. You hereby grant and assign, and will grant and assign, to the Project all rights and interests in all Project IP. - "Company IP" includes concepts, designs, developments, discoveries, ideas, improvements, inventions, trade secrets, trademarks, and works of authorship. + "Project IP" includes concepts, designs, developments, discoveries, ideas, improvements, inventions, trade secrets, trademarks, and works of authorship. -2. **What the Company doesn't own.** If you create IP that doesn't fit into one of the categories listed above, the Company doesn't own it. In other words, the Company doesn't own concepts, designs, developments, discoveries, ideas, improvements, inventions, trade secrets, trademarks, or works of authorship that you develop, invent, or create that do not meet any of the conditions in Section 1. +2. **What the Project doesn't own.** If you create IP that doesn't fit into one of the categories listed above, the Project doesn't own it. In other words, the Project doesn't own concepts, designs, developments, discoveries, ideas, improvements, inventions, trade secrets, trademarks, or works of authorship that you develop, invent, or create that do not meet any of the conditions in Section 1. -3. **Contribution of your IP to Company projects.** If you include your own IP – such as IP you created prior to working for the Company – into a Company product or service, it's still yours, of course, but you grant the Company a non-exclusive, irrevocable, fully paid-up, royalty-free, perpetual, sublicensable, transferable, worldwide license to use it without restriction in any way or implementation, in modified form, or as is, by itself, or incorporated into another product or service ("License"). If you include your name in any project over which the Company would have rights under this Agreement, such as in a copyright notice or a comment in code or documentation, then the License covers the rights associated with that use of your name as well. +3. **Contribution of your IP to Project projects.** If you include your own IP � such as IP you created prior to working for the Project � into a Project product or service, it's still yours, of course, but you grant the Project a non-exclusive, irrevocable, fully paid-up, royalty-free, perpetual, sub-licensable, transferable, worldwide license to use it without restriction in any way or implementation, in modified form, or as is, by itself, or incorporated into another product or service ("License"). If you include your name in any project over which the Project would have rights under this Agreement, such as in a copyright notice or a comment in code or documentation, then the License covers the rights associated with that use of your name as well. -4. **Your contributions to non-Company projects.** The Company recognizes that you may be engaged in work that requires you to submit IP to entities other than the Company, such as open source projects used by the Company. Please make sure that Legal is aware of what you're working on so that Legal can help with any licensing issues. If any project asks you to sign a contribution agreement, you should check with Legal before doing so. These agreements may be legally binding on the Company and so should be run through Legal first. +4. **Your contributions to non-Project projects.** The Project recognizes that you may be engaged in work that requires you to submit IP to entities other than the Project, such as open source projects used by the Project. Please make sure that Legal is aware of what you're working on so that Legal can help with any licensing issues. If any project asks you to sign a contribution agreement, you should check with Legal before doing so. These agreements may be legally binding on the Project and so should be run through Legal first. -5. **Voluntary Works** All Company IP that you are involved with or create as part of your work for the Company is voluntary work which does not require compensation. There might be incentives in place for certain kinds of contributions. Feel free to contact the Company to learn more. +5. **Voluntary Works** All Project IP that you are involved with or create as part of your work for the Project is voluntary work which does not require compensation. There might be incentives in place for certain kinds of contributions. Feel free to contact the Project to learn more. 6. **No conflicts.** You agree that you don't have any outstanding agreements or obligations that conflict with those in this Agreement, and that you won't enter into conflicting agreements in the future. -7. **IP protection.** The Company might someday need to show the work that went into the development of IP that it uses or has used, or to make government filings to establish that it owns the IP or has rights over it. To help in those situations, you agree not to destroy any records you maintain relating to the development of any Company IP or IP under License (together, "All IP"), and, if the Company asks, to provide those records to the Company. You agree to help the Company secure and defend its rights in All IP. For your help the Company will compensate you at a reasonable rate. If the Company is unable to secure your help, you authorize the Company to act on your behalf (as your agent and attorney-in-fact) in securing all rights related to All IP. +7. **IP protection.** The Project might someday need to show the work that went into the development of IP that it uses or has used, or to make government filings to establish that it owns the IP or has rights over it. To help in those situations, you agree not to destroy any records you maintain relating to the development of any Project IP or IP under License (together, "All IP"), and, if the Project asks, to provide those records to the Project. You agree to help the Project secure and defend its rights in All IP. For your help the Project will compensate you at a reasonable rate. If the Project is unable to secure your help, you authorize the Project to act on your behalf (as your agent and attorney-in-fact) in securing all rights related to All IP. -8. **Confidentiality.** As an contributor or contractor of the Company, you will have access to sensitive confidential information that is important to the Company's business. You are responsible for keeping this information confidential, including after you end your work for the Company. +8. **Confidentiality.** As an contributor or contractor of the Project, you will have access to sensitive confidential information that is important to the Project's business. You are responsible for keeping this information confidential, including after you end your work for the Project. - "Confidential Information" includes non-public technical details about our products or services, financial information, business strategies and forecasts, customer data, or any other information, data or know-how that is valuable to the Company because it is not publicly known. + "Confidential Information" includes non-public technical details about our products or services, financial information, business strategies and forecasts, customer data, or any other information, data or know-how that is valuable to the Project because it is not publicly known. - The Company's Confidential Information is sensitive and we expect that you'll treat it as such. You agree to only use the Company's Confidential Information for the purpose of performing your contribution and for the benefit of the Company. You will do your best to keep Confidential Information secret. If you are not sure if something is Confidential Information, you should assume that it is, until you can confirm otherwise. \ No newline at end of file + The Project's Confidential Information is sensitive and we expect that you'll treat it as such. You agree to only use the Project's Confidential Information for the purpose of performing your contribution and for the benefit of the Project. You will do your best to keep Confidential Information secret. If you are not sure if something is Confidential Information, you should assume that it is, until you can confirm otherwise.