uw-it-aca / handshake-provisioner

Provisions UW data to Handshake

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

handshake-provisioner

Build Status Coverage Status

Provisions UW data to Handshake through a CSV file.

System Requirements

  • Python (3.8+)
  • Docker
  • Node

Development Stack

  • Django (3.2)
  • Vue (3.2)
  • Vite (2.9)
  • Vitest (0.10.2)

Design Stack

  • Bootstrap (5.2)
  • Bootstrap Icons (1.9.0)

Installation

Clone the repository

    $ git clone git@github.com:uw-it-aca/app_name.git

Go to your working directory

    $ cd app_name

Copy the sample .env file so that your environment can be run.

    $ cp .env.sample .env

Update any .env variables for local development purposes

Development (using Docker)

Docker/Docker Compose is used to containerize your local build environment and deploy it to an 'app' container which is exposed to your localhost so you can view your application. Docker Compose creates a 'devtools' container - which is used for local development. Changes made locally are automatically syncd to the 'app' container.

    $ docker-compose up --build

View your application using your specified port number in the .env file

    Demo: http://localhost:8000/

Testing

Front-end Testing (using Vitest)

Run Vitest test scripts and generate coverage report

    $ npm run test
    $ npm run coverage

Linting (using ESLint and Stylelint)

Run ESLint for JS linting

    $ npm run eslint

Run Stylelint for CSS linting

     $ npm run stylelint

Python Testing (using Django)

Run unittest locally,

    $ docker-compose run --rm app bin/python manage.py test

or from anywhere:

    $ docker exec -ti sis_provisioner_app bin/python manage.py test

Authors

License

Copyright 2024 UW Information Technology, University of Washington

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

Provisions UW data to Handshake

License:Apache License 2.0


Languages

Language:Python 70.2%Language:Vue 17.9%Language:JavaScript 5.3%Language:SCSS 3.6%Language:HTML 1.1%Language:Dockerfile 1.0%Language:Shell 0.9%