SGX3 ADMI24 Hackathon (view their website here)
Teniola Oluwaseyitan
Mississippi Valley State University
Christian Johnson
Morehouse College
Nole Stites
Southern Oregon University
Robert Campbell
Southern Oregon University
Lisha Ramon
SUNY Oneonta
There are institutions that don't have easy ways to categorize or present their training resources. Currently, HPC-ED utilizes a command-line interface (CLI) to add data (training material) to and query data from a database which is not at all user friendly or intuitive. Many people don't know how to use a CLI, so they don't get the opportunity to use the training resources.
Furthermore, most people go to Google for their needs which isn't the best way to search. A given Google query might return thousands of results, making it hard to know which ones are worth looking at because the quality of sources vary. By having a database that stores only the institution-quality training materials and resources, you can be sure that all of the results from querying the database will be useful in some manner.
- Clone the repository.
$ git clone https://github.com/ChristianJohnsonL/SGX3-Hackathon-Project-2024.git
- Enter the cloned repo.
$ cd SGX3-Hackathon-Project-2024
- Add the
.env
file. Must include Globus client ID, and secret. - Create a virtual environment.
$ python3 -m venv env && source env/bin/activate
- Install the requirements
pip install -r requirements.txt
- Navigate further into the repo.
$ cd hpced
- Setup the server.
$ python3 manage.py makemigrations && python3 manage.py migrate
- Start the server.
$ python3 manage.py runserver_plus --key-file selftest-key --cert-file selftest-cert localhost:8000
- View the project website in a browser at
https://localhost:8000
. HTTPS must be used because Globus requires it. Your browser will gripe about a bad cert, this is a symptom of using HTTPS locally, but would not be a problem in an actual deployment. - Login to the server and begin your research!
This repository is organized as follows:
hpced/
: This directory contains all of the code necessary to run the project.hpced/
: description of filetemplates/hpced/
: This directory contains all of the HTML file templates for the project website.base.html
: Contains the base HTML to be inherited by all other pages.index.html
: Contains the HTML for the home page.metadata.html
: Contains the HTML for the new entry creation page.search.html
: Contains the HTML for the search/query page.thanks.html
: Contains the HTML for the response page after creating a new resource.
asgi.py
: Contains the ASGI configuration for the project.forms.py
: Contains the contents of the HTML forms rendered on the project website.globus_api.py
: Contains the functions for authenticating with Globus and performing queries.settings.py
: Contains the Django settings for the project. Mostly generated by Django.urls.py
: Contains the URL configuration for the project.view.py
: Contains the logic for rendering website pages and accepting form POST requests.wsgi.py
: Contains the WSGI configuration for the project.
manage.py
: Contains Django's command-line utility for administrative tasks.
.gitignore
: Contains a list of files and directories to ignore when pushing local changes to the repository.README.md
: Contains the overview of the project and repository, including the authors, project description, and how to run the code.requirements.txt
: Contains a list of Python libraries to be installed before running the code. Refer to README.md for instructions.