cs-340-project

CS340 Project for the Retro Tigers Team

https://github.com/cagonzalezcs/cs-340-project

Science Score: 18.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.1%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

CS340 Project for the Retro Tigers Team

Basic Info
  • Host: GitHub
  • Owner: cagonzalezcs
  • Language: Vue
  • Default Branch: main
  • Size: 1.02 MB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created over 4 years ago · Last pushed about 4 years ago
Metadata Files
Readme Citation

README.md

CS 340 Semester Project

CS 340 Project for the Retro Tigers Team

Local Development

To run this project locally, go through the following steps:

  • Using a terminal prompt clone this repository to a local directory
  • Change directory into the project directory and run npm install
  • Add the following required environment variables:
    • Within /server folder, use .env.example as a template
    • DB_HOST - The hostname where your DB can be accessed
    • DB_USER - The user for your local DB instance
    • DB_PASSWORD - The password for your local DB instance
    • DB_NAME - The name of the database you'd like to use
    • CLIENT_URI - The URI/URL of your local client instance, defaults to http://localhost:3000
    • Within /client folder, use .env.example as a template
    • SERVER_URI - The URI/URL of your local server instance, defaults to http://localhost:3000

Owner

  • Name: Cesar Gonzalez
  • Login: cagonzalezcs
  • Kind: user
  • Location: McAllen, Texas
  • Company: @honorlock

Citation (citations-and-sources-for-third-party-code.md)

# Citations and Sources

We wanted to provide some citations for external code and packages leveraged in this project that encompass usage of copied/adapted/based work.

Largely any code that exists as implemented within the source files of the server and client folders is our own. However, in a couple of places we did leverage some online resources.

## Server Implementation Citations

- For the user password and JWT token encryption, we leveraged a [found gist on Github](https://gist.github.com/vlucas/2bd40f62d20c1d49237a109d491974eb). This gist provided an implementation using the crypto package that comes natively with node js. This can be seen within the file at `/server/utils/encryption.mjs`. 
  - Source: https://gist.github.com/vlucas/2bd40f62d20c1d49237a109d491974eb
- For the JSON web token implementation, we based our work largely on a [Digital Ocean tutorial](https://www.digitalocean.com/community/tutorials/nodejs-jwt-expressjs) that provided the basic framework for our middleware. The work for this mainly encompasses the implementation for the `checkAuthToken` middleware function in the file `/server/utils/middleware.mjs`. The other two functions we implemented on our own through research on the express documentation.
  - Source: https://www.digitalocean.com/community/tutorials/nodejs-jwt-expressjs
- Outside these two examples, we used a variety of standard node libraries including packages like `express`, `mysql`, `cors`, and other open source packages. All the code leveraged here was implemented through help of the documentation for each of these packages. These include:
  - [cors](https://github.com/expressjs/cors)
  - [dotenv](https://github.com/motdotla/dotenv)
  - [express](https://github.com/expressjs/express)
  - [express-mysql-session](https://github.com/chill117/express-mysql-session#readme)
  - [express-session](https://github.com/expressjs/session)
  - [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken)
  - [mysql](https://github.com/mysqljs/mysql)

## Client Implementation Citations

- Our frontend was built with a variety of packages and libraries as well, all which can be seen below:
  - [click-outside-vue3](https://github.com/andymark-by/click-outside-vue3#readme)
  - [js-cookie](https://github.com/js-cookie/js-cookie)
  - [lodash](https://github.com/lodash/lodash)
  - [moment](https://github.com/moment/moment)
  - [pinia](https://github.com/vuejs/pinia)
  - [vue](https://github.com/vuejs/vue)
  - [vue-router](https://github.com/vuejs/router)
  - [vue-toastification](https://github.com/Maronato/vue-toastification)
  - [tailwindcss](https://github.com/tailwindlabs/tailwindcss)

## Developer Dependencies
Several other packages were used within our development process that did not have a direct impact on the end product of our project, but helped with the end goal. These packages included tools like CSS pre-processors, linters, formatters, and others. These can be seen with package.json at the root of this project.

GitHub Events

Total
Last Year

Dependencies

package-lock.json npm
  • 744 dependencies
package.json npm
  • @babel/core ^7.17.10 development
  • @babel/eslint-parser ^7.17.0 development
  • @babel/preset-env ^7.17.10 development
  • @import-meta-env/unplugin ^0.1.8 development
  • @vitejs/plugin-vue ^2.3.1 development
  • autoprefixer ^10.4.7 development
  • eslint ^8.14.0 development
  • eslint-config-prettier ^8.5.0 development
  • eslint-import-resolver-alias ^1.1.2 development
  • eslint-plugin-html ^6.2.0 development
  • eslint-plugin-import ^2.26.0 development
  • eslint-plugin-prettier ^4.0.0 development
  • eslint-plugin-vue ^8.7.1 development
  • morgan ^1.10.0 development
  • nodemon ^2.0.16 development
  • postcss ^8.4.14 development
  • prettier ^2.6.2 development
  • sass ^1.51.0 development
  • sass-loader ^12.6.0 development
  • stylelint ^14.8.1 development
  • stylelint-config-prettier ^9.0.3 development
  • stylelint-config-standard-scss ^3.0.0 development
  • stylelint-prettier ^2.0.0 development
  • tailwindcss ^3.0.24 development
  • vite ^2.9.6 development
  • vue-eslint-parser ^8.3.0 development
  • @swc/core ^1.2.174
  • click-outside-vue3 ^4.0.1
  • cors ^2.8.5
  • dotenv ^16.0.0
  • express ^4.18.1
  • express-mysql-session ^2.1.8
  • express-session ^1.17.3
  • js-cookie ^3.0.1
  • jsonwebtoken ^8.5.1
  • lodash ^4.17.21
  • moment ^2.29.3
  • mysql ^2.18.1
  • pinia ^2.0.13
  • vue ^3.2.25
  • vue-router ^4.0.14
  • vue-toastification ^2.0.0-rc.5