Skip to content

Commit

Permalink
Merge pull request #13 from acmutd/dev
Browse files Browse the repository at this point in the history
Release 1.0.0

Release notes will be published along with the tagged commit. Hooray first release!
  • Loading branch information
harshasrikara authored Feb 1, 2021
2 parents 179db2c + 3298ae3 commit 12a18ba
Show file tree
Hide file tree
Showing 86 changed files with 5,340 additions and 672 deletions.
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: Bug report
about: Create a report to help us improve
title: "[Bug]"
labels: bug
assignees: ''

---

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

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Additional context**
Add any other context about the problem here. Include potential fix solutions if known for the developers.
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-addition.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Feature Addition
about: New enhancement or feature that will be added to the application
title: "[Feature]"
labels: enhancement
assignees: ''

---

**Describe new addition**
A clear and concise description of what feature or technology will be incorporated into the application. This could be a UI or a backend feature. Ex. Create a data store for the application through Redux to [...]

**Task List**
Create the acceptance criteria to determine when the issue can be marked as resolved. This needs to be as detailed as possible to simplify the process of conducting code reviews when the feature is in development. Ex.
- [ ] Add Redux Actions for authentication
- [ ] Add Redux Reducers for authentication

**Additional context**
Add any other context/notes about the feature request here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/internal-update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Internal Update
about: Changes that deal with documentation, refactoring, testing or deployment
title: "[Internal]"
labels: internal
assignees: ''

---

**Describe the issue**
Describe briefly the changes involved and why they are being made

**Task List**
- For documentation, describe the version that it targets and who the audience is (users, developers, etc)
- For test cases, create a detailed list of the exact test cases that need to be created.
- For refactoring, be specific in what code is being changed, whether it affects any functionality and finally how the workflow will be after the issue is resolved
- For Deployment, describe if the issue is non-code related, the change in how the user will find/interact with the application. Detail how the change differs from previous situation

**Additional Context**
Add in any other relevant information to make the issue more detailed.
14 changes: 14 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#### Pull Request `<Insert Branch Name>`

Short & brief description of branch and what bug, feature or internal change was being made

#### Details
- Create bullet point list of changes made


#### Resolved Issues and Linked References
- resolves #`<insert issue number>`
- The resolves keyword (can also use closes and a couple others) will ensure that the relevant issue gets moved into the finished pile
- Reference #`<insert pr number>`

#### Additional Notes
54 changes: 54 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: "Code Quality Analysis"

on:
push:
branches: [dev, master]
pull_request:
# The branches below must be a subset of the branches above
branches: [dev]
schedule:
- cron: '0 12 * * 4'

jobs:
CodeQL-Build:

runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2

# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
# Override language selection by uncommenting this and choosing your languages
# with:
# languages: go, javascript, csharp, python, cpp, java

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl

# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language

#- run: |
# make bootstrap
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
41 changes: 41 additions & 0 deletions .github/workflows/deployment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: CI Deployment

on:
push:
branches: [dev]

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v2

- name: Build
run: |
npm install
npm run build
env:
REACT_APP_AUTH0_DOMAIN: ${{ secrets.REACT_APP_AUTH0_DOMAIN }}
REACT_APP_AUTH0_CLIENTID: ${{ secrets.REACT_APP_AUTH0_CLIENTID }}
REACT_APP_AUTH0_AUDIENCE: ${{ secrets.REACT_APP_AUTH0_AUDIENCE }}
REACT_APP_AUTH0_PORTAL_CLIENTID: ${{ secrets.REACT_APP_AUTH0_PORTAL_CLIENTID }}
REACT_APP_VANITY_TYPEFORM: ${{ secrets.REACT_APP_VANITY_TYPEFORM }}
REACT_APP_DEV_TYPEFORM: ${{ secrets.REACT_APP_DEV_TYPEFORM }}
REACT_APP_EDU_TYPEFORM: ${{ secrets.REACT_APP_EDU_TYPEFORM }}
REACT_APP_MARKETING_TYPEFORM: ${{ secrets.REACT_APP_MARKETING_TYPEFORM }}
REACT_APP_CF_AUDIENCE: ${{ secrets.REACT_APP_CF_AUDIENCE }}
REACT_APP_CF_DOMAIN: ${{ secrets.REACT_APP_CF_DOMAIN }}
REACT_APP_LOCAL_FUNCTION_URL: ${{ secrets.REACT_APP_LOCAL_FUNCTION_URL }}
REACT_APP_CLOUD_FUNCTION_URL: ${{ secrets.REACT_APP_CLOUD_FUNCTION_URL }}
REACT_APP_CLOUD_FUNCTION_URL2: ${{ secrets.REACT_APP_CLOUD_FUNCTION_URL2 }}
REACT_APP_SENTRY_DSN: ${{ secrets.REACT_APP_SENTRY_DSN }}

- name: Deploy
uses: JamesIves/github-pages-deploy-action@releases/v3
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages
FOLDER: build
CLEAN: true
37 changes: 37 additions & 0 deletions .github/workflows/nodejs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: ACM Portal Automated Testing and Continuous Integration
env:
REACT_APP_AUTH0_DOMAIN: ${{ secrets.REACT_APP_AUTH0_DOMAIN }}
REACT_APP_AUTH0_CLIENTID: ${{ secrets.REACT_APP_AUTH0_CLIENTID }}
REACT_APP_AUTH0_AUDIENCE: ${{ secrets.REACT_APP_AUTH0_AUDIENCE }}

on:
push:
branches:
- master
- dev
pull_request:
branches:
- master
- dev

jobs:
build:
name: Clean install, build and test

#timeout-minutes: 10 #fail if the process takes >10 minutes

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [12.x]

steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm ci #clean install
- run: npm run build --if-present #same as npm run build
- run: npm test #run jest & enzyme testing for application
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,12 @@ yarn-debug.log*
yarn-error.log*

# env
.env
.env

# WebStorm stuff
.idea
misc.xml
modules.xml
portal.iml
vcs.xml

5 changes: 5 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

54 changes: 29 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,48 @@
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
# Association for Computing Machinery Portal

## Available Scripts
![Portal Automated Testing and Continuous Integration](https://github.com/acmutd/portal/workflows/ACM%20Portal%20Automated%20Testing%20and%20Continuous%20Integration/badge.svg)

In the project directory, you can run:
Official front-end for the _ACM_ website & portal.

### `npm start`
### Quick Start

Runs the app in the development mode.<br />
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
- Create `.env` file for Auth0 configuration, request ACM Development for domain and client ID.
- Run `npm start`

The page will reload if you make edits.<br />
You will also see any lint errors in the console.
### Extended Start Guide

### `npm test`
###### Mobile vs Web Development

Launches the test runner in the interactive watch mode.<br />
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
`App.tsx` splits what gets rendered into two separate views through `react-device-react`. Content stored in `/src/mobileviews` should contain views for smaller viewports wheras content in `/src/views` should contain full screen views. In situations where it is not necessary to create two separate views, save it in `/src/views` and duplicate the content in `App.tsx` so that it gets rendered in all situations.

### `npm run build`
###### Auth0 & Authentication

Builds the app for production to the `build` folder.<br />
It correctly bundles React in production mode and optimizes the build for the best performance.
Refer to [ACM Development Authentication](https://github.com/acmutd/Auth-flow-template) for more information on using our authentication features.

The build is minified and the filenames include the hashes.<br />
Your app is ready to be deployed!
###### Connecting to backend

See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
In progress.
All communication with firebase should occur through the ACM Portal API. Refer to [ACM Portal Backend](https://github.com/acmutd/portal-backend) for more information on locally testing the backend.

### `npm run eject`

**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
### How to Contribute

If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
Join ACM Development

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
### Contributors

You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
- [Harsha Srikara](https://harshasrikara.com)
- [David Richey](https://darichey.com)
- [Aliah Shaira De Guzman]()
- [Reshmi Ranjith]()
- [Sivam Patel](https://github.com/sivampatel)
- [Kendra Huang](https://github.com/kendra-huang)
- [Jafar Ali](https://github.com/jafrilli)

## Learn More
### Questions

You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
Sometimes you may have additional questions. If the answer was not found in this readme please feel free to reach out to the [Director of Development](mailto:[email protected]) for _ACM_

To learn React, check out the [React documentation](https://reactjs.org/).
We request that you be as detailed as possible in your questions, doubts, or concerns to ensure that we can be of maximum assistance. Thank you!

![ACM Development](https://www.acmutd.co/brand/Development/Banners/light_dark_background.png)
Loading

0 comments on commit 12a18ba

Please sign in to comment.