Skip to content

halomod/TheHaloMod-SPA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TheHaloMod-SPA

A single-page application to act as a GUI for HaloMod. A spiritual successor to TheHaloMod.

Github Actions Server CI Workflow Github Actions Client CI Workflow Github License

Table of Contents

Contributing

How to run it locally

  1. Clone the repo locally.
  2. Run cd TheHaloMod-SPA. In other words, move into that directory in your shell of choice.
  3. Get the server up and running. Instructions are in the server readme.
  4. Startup the client. Instructions are in the client readme.

Architecture

The overall architecture of TheHaloMod-SPA is broken up into two parts: server and client. From a high-level perspective, the server handles the API portion of the website, and the client holds the front-end. This way, the front-end can benefit from modern JavaScript UI libraries and the backend can run all the Python code of the various libraries that this project is based on.

Each part, the server and the client, have their own documentation on their architecutre in their readmes. This includes info on the package managers they use, general thought and design considerations, as well as other aspects.

GitHub Actions

The only parts that are not included in the server and client at this moment are the GitHub workflows. Those are included in root as required by GitHub. Github workflows are an aspect of GitHub Actions and form the continuous integration part of this project. Some of the things that the Github workflows are setup to do are:

  • Run tests on both the server and client when new pushes are made to any branch in the project
  • Run linting on both the server and client when new pushes are made to any branch in the project
  • Deploy the client when a new push is made to the main branch

Note that in order to execute .sh files inside of a workflow (the .yaml files in .github/workflows), they need to be ran with sh shell_file_name.sh INSTEAD of something like . ./shell_file_name.sh. If they are ran with . ./shell_file_name.sh they will not apply to the environment correctly.

Click here to see more information about how github actions are used