Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare for demo day and handoff #124

Draft
wants to merge 25 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 22 additions & 23 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,34 +1,33 @@
# .env.example
NEXT_PUBLIC_URL=""
APP_URL=""
NEXTAUTH_URL=""
NEXTAUTH_URL="http://localhost:3000"
OKTA_OAUTH2_CLIENT_ID=
OKTA_OAUTH2_CLIENT_SECRET=
OKTA_OAUTH2_ISSUER=
OKTA_API_KEY=
SECRET=

NEXT_PUBLIC_URL=
# Twilio Configurations
# Found at https://console.twilio.com/us1/account/keys-credentials/api-keys under "Live credentials"
TWILIO_ACCOUNT_SID=""
TWILIO_AUTH_TOKEN=""

TWILIO_ACCOUNT_SID=
# Found at https://console.twilio.com/us1/develop/phone-numbers/manage/twiml-apps
TWILIO_TWIML_APP_SID=
TWILIO_CALLER_ID=
# Found at https://console.twilio.com/us1/account/keys-credentials/api-keys under "API keys" as SID
# Create an API key if one doesn't exist. More instructions at https://www.twilio.com/docs/glossary/what-is-an-api-key
TWILIO_API_KEY=""
TWILIO_API_KEY=
# When you create the API key, you’ll be shown its secret, which is the variable below
# For security, you will only be shown the secret at this time so store it in a secure location
TWILIO_API_SECRET=""

# Found at https://console.twilio.com/us1/develop/phone-numbers/manage/twiml-apps
TWILIO_TWIML_APP_SID=""
TWILIO_CALLER_ID=""

# Found at https://www.twilio.com/console/sync/services
TWILIO_SYNC_SERVICE_SID=""

NEXT_PUBLIC_WORKSPACE_SID=""

NEXT_PUBLIC_OKTA_URL=""
TWILIO_API_SECRET=
TWILIO_AUTH_TOKEN=
TWILIO_WORKSPACE_SID=
TWILIO_WORKFLOW_SID=
TWILIO_TASKQUEUE_SID=

# Is this hardcoded or do we dynamically get it?
# Airtable test tokens, has to be generated with https://airtable.com/create/tokens
# TEST_BASE_ID and TEST_TABLE_ID can be found in the url of the target airtable table e.g.
# https://airtable.com/{BASE_ID}/{TABLE_ID}
AIRTABLE_TEST_API_KEY=your_api_key
AIRTABLE_TEST_BASE_ID=starts_with_app
AIRTABLE_TEST_TABLE_ID=your_table_id
AIRTABLE_TEST_API_KEY=
AIRTABLE_TEST_BASE_ID=
AIRTABLE_TEST_TABLE_ID=

17 changes: 16 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
{
"extends": "next/core-web-vitals"
"env": {
"es2021": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:react/recommended",
"next/core-web-vitals",
"prettier"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": ["@typescript-eslint", "react"]
}
15 changes: 8 additions & 7 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,33 @@
---
name: Bug report
about: Create a report to help us improve
title: "[Bug]"
title: '[Bug]'
labels: bug
assignees: israelhhh2

---

# Description

*A clear and concise description of what the bug is.*
_A clear and concise description of what the bug is._

# Expected Behavior

*A clear and concise description of what you expected to happen.*
_A clear and concise description of what you expected to happen._

# How to Reproduce

Steps to reproduce the behavior:

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

## Runtime Environment
- OS and version: [e.g. Windows 11/macOS Sonoma/Android 12/etc.]
- Browser and Version [e.g. Chrome 121]

- OS and version: [e.g. Windows 11/macOS Sonoma/Android 12/etc.]
- Browser and Version [e.g. Chrome 121]

# Additional context

*Add any other context about the problem here. If applicable, add screenshots to help explain your problem. Remove if not needed.*
_Add any other context about the problem here. If applicable, add screenshots to help explain your problem. Remove if not needed._
10 changes: 5 additions & 5 deletions .github/ISSUE_TEMPLATE/internal-task.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
---
name: Internal Task
about: Generic issue for detailed work that needs to be done that isn't necessarily user-facing
about: Generic issue for detailed work that needs to be done that isn't necessarily user-facing
title: '[Internal]'
labels: internal
assignees: ''
---

# Overview

*Describe the nature of this issue at a high level.*
_Describe the nature of this issue at a high level._

# Acceptance Criteria

*Describe what specific conditions must be met for this issue to be resolved.*
_Describe what specific conditions must be met for this issue to be resolved._

- [ ] Criteria 1

# Tasks

*If applicable, include a recommended set of non-user-facing technical tasks needed for a developer to implement this issue.*
_If applicable, include a recommended set of non-user-facing technical tasks needed for a developer to implement this issue._

- [ ] Task 1

# Additional Info

*If there are any additional documents or supplementary materials to resolve this issue, link them here. Remove if not needed.*
_If there are any additional documents or supplementary materials to resolve this issue, link them here. Remove if not needed._
5 changes: 2 additions & 3 deletions .github/ISSUE_TEMPLATE/user-story.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,19 @@ about: Generic user story template for a new user-facing feature
title: ''
labels: feature
assignees: ''

---

**As a [USER TYPE], I should be able to [TASK] so I can [REASON].**

# Acceptance Criteria

*Describe what conditions must be met for this issue to be resolved.*
_Describe what conditions must be met for this issue to be resolved._

- [ ] Criteria 1

# Tasks

*If applicable, include a recommended set of non-user-facing technical tasks needed for a developer to implement this issue.*
_If applicable, include a recommended set of non-user-facing technical tasks needed for a developer to implement this issue._

- [ ] Task 1

Expand Down
6 changes: 3 additions & 3 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Overview

*Closes #X, closes, #Y*
_Closes #X, closes, #Y_

*At a high-level, describe what changed. Details should already be included in the linked issues.*
_At a high-level, describe what changed. Details should already be included in the linked issues._

# Other Notes

*If there is important information that isn't immediately obvious from the changes that were made, include that info here. Remove this section if not needed.*
_If there is important information that isn't immediately obvious from the changes that were made, include that info here. Remove this section if not needed._
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: 20

- name: Set up pnpm
uses: pnpm/action-setup@v2
with:
Expand Down
11 changes: 11 additions & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
module.exports = {
printWidth: 80,
tabWidth: 2,
trailingComma: 'all',
singleQuote: true,
semi: true,
importOrder: ['^@/(.*)$', '^[./]'],
importOrderSeparation: true,
importOrderSortSpecifiers: true,
plugins: ['@trivago/prettier-plugin-sort-imports'],
};
54 changes: 25 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
## Getting Started
# Connie

Install [pnpm](https://pnpm.io/installation)
## Development

(For example, using homebrew:)
This project uses pnpm as its package manager. Make sure is it [installed](https://pnpm.io/installation)
before continuing.

```
brew install pnpm
```
#### Aside: Why pnpm?

We chose to use pnpm for its improved security over npm, and also its improved
package management speed compared to yarn. Read more [here](https://hackernoon.com/choosing-the-right-package-manager-npm-yarn-or-pnpm).

Create a configuration file for your application by copying the .env.example and edit the .env file with the appropriate values
Create a configuration file for your application by copying the .env.example and
edit the .env file with the appropriate values:

```bash
cp .env.example .env
Expand All @@ -25,41 +28,34 @@ Open [http://localhost:3000](http://localhost:3000) with your browser to see the

You can start editing the page by modifying `src/app/page.tsx`. The page auto-updates as you edit the file.

This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
### Format

## Learn More
Before committing, make sure to format your code with the following command:

### Next.js

To learn more about Next.js, take a look at the following resources:

- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
```bash
pnpm format
```

You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
### Environment Setup

### Why pnpm?
#### Environment Variables

We chose to use pnpm for its improved security over npm, and also its improved package management speed compared to yarn. Read more [here](https://hackernoon.com/choosing-the-right-package-manager-npm-yarn-or-pnpm).
Create a .env file at the root of the repository with the following variables:
NEXTAUTH_URL=http://localhost:3000
OKTA_OAUTH2_CLIENT_ID={OKTA APPLICATION CLIENT ID}
OKTA_OAUTH2_CLIENT_SECRET={OKTA APPLICATION SECRET}
OKTA_OAUTH2_ISSUER=https://{YOUR OKTA ACCOUNT URL (click top right and it will appear below your email)}
SECRET=Some long random string

### Deployment
## Deployment

View the latest deployment branch [here](https://develop.d2r9j66448p933.amplifyapp.com/).

This project has been integrated with the AWS amplify github app for automatic deployments. All commits and pull requests to the `develop` branch have been set up for automatic deployment. Deployment and build settings should be edited through the AWS Amplify [console](https://console.aws.amazon.com/amplify/home) and through associated [documentation](https://docs.aws.amazon.com/amplify/latest/userguide/getting-started.html).

Deployment build setting specifications:

- Changed node version to 20 to be compatible with building next.js applications to fulfil requirement >=18.17.0
- Changed container image to be Amazon linux 2023 to solve [GLIBC_2.28 not found](https://stackoverflow.com/questions/72921215/getting-glibc-2-28-not-found) error after upgrading node version.
- Added npmrc file as a linker between pnpm and npm because amplify does some part of its installation using npm [here](https://docs.aws.amazon.com/amplify/latest/userguide/monorepo-configuration.html#turborepo-pnpm-monorepo-configuration).
- Since repository is public, AWS amplify app has no linked IAM service roles for [security purposes](https://docs.aws.amazon.com/amplify/latest/userguide/pr-previews.html) to enable pull request previews.

## Environment Setup

### Environment Variables
Create a .env file at the root of the repository with the following variables:
NEXTAUTH_URL=http://localhost:3000
OKTA_OAUTH2_CLIENT_ID={OKTA APPLICATION CLIENT ID}
OKTA_OAUTH2_CLIENT_SECRET={OKTA APPLICATION SECRET}
OKTA_OAUTH2_ISSUER=https://{YOUR OKTA ACCOUNT URL (click top right and it will appear below your email)}
SECRET=Some long random string
4 changes: 2 additions & 2 deletions next.config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/** @type {import('next').NextConfig} */
const nextConfig = {}
const nextConfig = {};

module.exports = nextConfig
module.exports = nextConfig;
7 changes: 6 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,20 @@
"xlsx": "^0.18.5"
},
"devDependencies": {
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
"@types/node": "^20",
"@types/react": "^18",
"@types/react-dom": "^18",
"@typescript-eslint/eslint-plugin": "^7.0.2",
"@typescript-eslint/parser": "^7.0.2",
"autoprefixer": "^10.0.1",
"eslint": "^8",
"eslint-config-next": "14.0.4",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-react": "^7.33.2",
"postcss": "^8",
"prettier": "3.2.5",
"tailwindcss": "^3.3.0",
"tailwindcss": "^3.4.1",
"typescript": "^5"
}
}
Loading
Loading