CSC/ECE 517 Spring 2024 - G2400 DevOp for GitHub Miner app

From Expertiza_Wiki
Revision as of 23:35, 2 April 2024 by Wneff (talk | contribs) (Add additional testing information)
Jump to navigation Jump to search

GitHub Miner

GitHub Miner is a tool for querying GitHub APIs and returning useful information.


Installation

GitHub Miner is written in Python and can be installed locally using a virtual environment (venv) or using Docker.

To use Docker: Ensure that you have Docker installed Update the GITHUB_OAUTH_CLIENT_ID and GITHUB_OAUTH_CLIENT_SECRET values in the docker-compose.yml file based on the instructions here Optionally - add a value for the SECRET_KEY in the docker-compose.yml file. See the explanation here on secret key values. Run docker compose up.


Testing

The scope of our project was to create a Docker container for the main GitHub miner app and a docker-compose file to run the app and a MySQL container. As such, creating automated tests was not within the scope of our work. Manual tests were completed by:

  1. Running
    docker compose up 
  2. Verifying that an application container and a mysql container were both created.
  3. Running
    docker exec ghminer flask db upgrade 
    to migrate the database.
  4. Running
    docker exec ghminer python -m backend.scripts.seed_db 
    to seed the database.
  5. Opening a browser and navigating to http://localhost:5000/test-insert/2/john_doe
  6. Navigating to http://localhost:5000/test-retrive/2

Team Members

Tanner Neff

Andrew Robie

Srinish Pellakur


Mentor: Jialin Cui