diff --git a/.github/workflows/docker-deploy.yml b/.github/workflows/docker-deploy.yml index 9c7e254e..58fa63ed 100644 --- a/.github/workflows/docker-deploy.yml +++ b/.github/workflows/docker-deploy.yml @@ -22,11 +22,11 @@ jobs: id-token: write steps: - name: Checkout repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # Uses the `docker/login-action` action to log in to the Container registry registry using the account and password that will publish the packages. Once published, the packages are scoped to the account defined here. - name: Log in to the Container registry - uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -35,7 +35,7 @@ jobs: # This step uses [docker/metadata-action](https://github.com/docker/metadata-action#about) to extract tags and labels that will be applied to the specified image. The `id` "meta" allows the output of this step to be referenced in a subsequent step. The `images` value provides the base name for the tags and labels. - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | @@ -47,7 +47,7 @@ jobs: # It uses the `tags` and `labels` parameters to tag and label the image with the output from the "meta" step. - name: Build and push Docker image id: push - uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 + uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 with: context: . push: true @@ -56,7 +56,7 @@ jobs: # This step generates an artifact attestation for the image, which is an unforgeable statement about where and how it was built. It increases supply chain security for people who consume the image. For more information, see "[AUTOTITLE](/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds)." - name: Generate artifact attestation - uses: actions/attest-build-provenance@db473fddc028af60658334401dc6fa3ffd8669fd + uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a with: subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}} subject-digest: ${{ steps.push.outputs.digest }} diff --git a/.github/workflows/docker-test.yml b/.github/workflows/docker-test.yml index 47aff74f..ae16c86d 100644 --- a/.github/workflows/docker-test.yml +++ b/.github/workflows/docker-test.yml @@ -20,7 +20,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - name: "Build Docker Image" run: | diff --git a/.github/workflows/eslint.yml b/.github/workflows/eslint.yml index 4ee0752b..540e11f4 100644 --- a/.github/workflows/eslint.yml +++ b/.github/workflows/eslint.yml @@ -15,8 +15,8 @@ jobs: eslint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 + - uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 with: node-version: 22 @@ -24,7 +24,7 @@ jobs: run: npm ci - name: Run EsLint - uses: sibiraj-s/action-eslint@bcf41bb9abce43cdbad51ab9b3da2eddaa17eab3 + uses: sibiraj-s/action-eslint@c24ff92cabb3ad38994c99f5583c59125ea040b0 with: eslint-args: "src/**/*.{ts,tsx} --max-warnings=0" extensions: "ts,tsx" diff --git a/LabConnect S25 Documentation.pdf b/LabConnect S25 Documentation.pdf deleted file mode 100644 index 40cc5b82..00000000 Binary files a/LabConnect S25 Documentation.pdf and /dev/null differ diff --git a/README.md b/README.md index 4327c3c3..fcaa3313 100644 --- a/README.md +++ b/README.md @@ -8,33 +8,12 @@ [![Stargazers][stars-shield]][stars-url] - -
- Table of Contents -
    -
  1. - About the project - -
  2. -
  3. - Prerequisites -
  4. -
  5. - Installation -
  6. -
-
- - ## About
- - -LabConnect Logo + LabConnect Logo +

A centralized website to connect RPI undergraduate students with research or lab positions
@@ -44,12 +23,7 @@ posted by professors, graduate students, or lab staff.

### Built With -[![Python][Python]][Python-url] -[![HTML][HTML]][HTML-url] -[![CSS][CSS]][CSS-url] -[![JS][JS]][JS-url] -[![Flask][Flask]][Flask-url] -[![Bootstrap][Bootstrap]][Bootstrap-url] +[![TypeScript][TypeScript]][TypeScript-url] [![React][React]][React-url] [![Node.js][Node.js]][Node.js-url] [![Tailwind CSS][TailwindCSS]][TailwindCSS-url] @@ -63,13 +37,12 @@ posted by professors, graduate students, or lab staff.

$ git clone https://github.com/LabConnect-RCOS/LabConnect-Frontend.git ``` * or through [Github Desktop](https://desktop.github.com/) - * Install Python 3.12.4 - * Windows: [here](https://www.python.org/downloads/release/python-3124/) - * Linux: + * Install Node and NPM. Recommend using nvm to manage node versions. The frontend currently uses `Node 22` + * Mac: ``` - $ sudo apt install python3 + $ brew install nvm + $ nvm install node ``` - * Install Node and NPM * Windows: [here](https://nodejs.org/dist/v22.20.0/node-v22.20.0-x64.msi) * Linux: ``` @@ -85,59 +58,47 @@ posted by professors, graduate students, or lab staff.

$ npm install ``` +### Environment Variables + +| Variable Name | Default Value | Description | +|------------------------|---------------|---------------------------------------------------------------| +| `VITE_BACKEND_SERVER` | None | URL to the backend server | + +Set the varaible with: +``` +$ export VITE_BACKEND_SERVER="http://127.0.0.1:9000" +``` + ## Testing * To run the frontend locally run the following: ``` - $ npm run build - $ npm run preview + $ make develop ``` + This command allows editing and autoreloading while making changes -## Deployment -Create PRs to the main branch. Upon merging, a build test will make sure your code is running without errors and safe to merge to main. - -## Project Contributors - -Running list of contributors to the LabConnect project: - -### Project Lead - -- **Will Broadwell** [Project Lead] -- **Rafael Cenzano** [Former Project Lead] - -### Rensselaer Center for Open Source Development Team - -- **Jaswanth D** [Frontend] -- **Doan N** [Frontend] -- **Pragathi A** [Frontend / Backend] -- **Aniket S** [Backend] - -### Past Rensselaer Center for Open Source Development Team +## Building + * To build the application use this command to build the static files and test the production version of deploy the files. + ``` + npm run build + ``` -- **Mohammed P** [Backend] (S'25) -- **Sagar S** [Frontend] (S'25) -- **Gowrisankar P** [Frontend] (S'25) -- **Devan P** [Frontend] (S'25) -- **Sidarth E** [Frontend] (F'24,S'25) -- **Sarah W** [Backend] (S'24,F'24,S'25,U'25) -- **Ramzey Y** [Backend] (S'24,F'24) -- **Siddhi W** [Frontend / Backend] (F'23,S'24,F'24) -- **Mrunal A** [Frontend / Backend] (F'23,S'24,F'24) -- **Abid T** [Frontend / Backend] (F'23,S'24) -- **Nelson** [Backend] (S'24) -- **Duy L** [Database Systems] (F'23) -- **Yash K** [Frontend] (F'23) -- **Sam B** [Scraping / Integration] (F'23) +## Deployment +Create PRs to the main branch. Upon merging, a build test will make sure your code is running without errors and safe to merge to main. On a completed merge the action will build and push the new docker image. +### Linting -### Special Thanks -We extend our special thanks support and opportunity provided by the RCOS community. +Run the linter and fix any lint issues to maintiain code quality and standards +``` +make lint +``` -### Contact Us -Join our Discord for any questions or concerns [here](https://discord.gg/tsaxCKjYHT) +## Contact Us +[![Discord](https://img.shields.io/badge/Discord-5865F2.svg?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/tsaxCKjYHT) +[![Jira](https://img.shields.io/badge/Jira-0052CC.svg?style=for-the-badge&logo=jira&logoColor=white)](https://rcoslabconnect.atlassian.net/jira/software/projects/CCS/list) ## License -Distributed under the Apache License. See [LICENSE](https://github.com/RafaelCenzano/LabConnect/blob/main/LICENSE) for more information. +Distributed under the Apache License. See [LICENSE](https://github.com/LabConnect-RCOS/LabConnect-Frontend/blob/main/LICENSE) for more information. @@ -156,18 +117,8 @@ Distributed under the Apache License. See [LICENSE](https://github.com/RafaelCen [activity-shield]: https://img.shields.io/github/last-commit/LabConnect-RCOS/LabConnect-Frontend?style=for-the-badge [activity-url]: https://github.com/LabConnect-RCOS/LabConnect-Frontend/activity -[Python]: https://img.shields.io/badge/Python-3776AB.svg?style=for-the-badge&logo=Python&logoColor=white -[Python-url]: https://www.python.org/ -[HTML]: https://img.shields.io/badge/HTML5-E34F26?style=for-the-badge&logo=html5&logoColor=white -[HTML-url]: https://html.spec.whatwg.org/multipage/ -[CSS]: https://img.shields.io/badge/CSS3-1572B6?style=for-the-badge&logo=css3&logoColor=white -[CSS-url]: https://www.w3.org/Style/CSS/Overview.en.html -[JS]: https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black -[JS-url]: https://www.javascript.com/ -[Flask]: https://img.shields.io/badge/Flask-000000?style=for-the-badge&logo=flask&logoColor=white -[Flask-url]: https://flask.palletsprojects.com/en/3.0.x/ -[Bootstrap]: https://img.shields.io/badge/Bootstrap-563D7C?style=for-the-badge&logo=bootstrap&logoColor=white -[Bootstrap-url]: https://getbootstrap.com/ +[TypeScript]: https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge&logo=typescript&logoColor=white +[TypeScript-url]: https://www.typescriptlang.org/ [React]: https://img.shields.io/badge/React-61DAFB?style=for-the-badge&logo=react&logoColor=black [React-url]: https://reactjs.org/ [Node.js]: https://img.shields.io/badge/Node.js-43853D?style=for-the-badge&logo=node.js&logoColor=white diff --git a/labonnect_S25_poster.pdf b/labonnect_S25_poster.pdf deleted file mode 100644 index bd5cba1c..00000000 Binary files a/labonnect_S25_poster.pdf and /dev/null differ