This project is an inventory management system for the HRDC Warming Hut in Bozeman, Montana. Our goal for this project is to:
Clone the GitHub repository using:
git clone https://github.com/423S25/project2.git
The repository is structured into four main folders: frontend, backend, docs, and ingress.
Before you run the software, make sure Docker is installed on your computer as well as a .env file exists. Note as well, developers may need to use docker-compose
instead of docker compose
.
make build
followed by make dev
. If a .env file does not exist, run touch .env
The .env file also needs to have the following variables filled out
and an example .env file can be seen in .env.exm.
We test after each developer's changes. As well we currently have a set of tests for both the frontend and the backend. All testing for the frontend is
done using the selenium extension and a .side file. We also have a few tests for the backend in the test.py folder in backend/management
.
Testing for the frontend can be done using selenium. There is a tests folder in the frontend folder that contains a selenium file hrdc_frontend_tests.side
.
This file can be opened using the selenium extension in firefox or chrome. The tests currently cover the following features.
Backend testing is done currently through pythons standard testing library. With tests right now to test the delete and creation of items from a mock client. These
tests can be run using python manage.py test management
either in the backend docker container or by also running
docker exec "container-name" python manage.py test management
.
Currently, we do not have an Automated Test feature, but we plan to integrate our python tests using NorthFlank's staging service and workflow feature. Selenium frontend automated tests using github actions are in the works but will only be implemented once we figure out how to get account details obsfucated from the public repo.
Releases are automatically triggered when changes are pushed to the main branch, with the build process handled by NorthFlank's CI/CD pipeline.
Latest UML diagram showing our current architecture
Previous version of our class diagram