Docker
Due to the use of a website with there is a Dockerfile included within this project. This should help setup the website and application easier. The docker file is openable with docker desktop, and should be installed when trying to access the docker-compose and following this documentation.
Docker compose
The docker compose consists of multiple different components. Below explanation on these parts.
you can open the docker compose by opening command prompt on the folder (if you have docker installed) and doing the command
docker-compose build
docker-compose up -d
this should install all the required packages needed to run the application and should start flask on your local machine.
PHP
We use php for the use of api's within our webenviroment these are used to send data to the carts aswell as other data that we might need to send remotely.
Flask
Flask is used to run the application on your local device.
It will run on port:5000 and you should be able to access it using localhost:5000
Further improvements
In order to get the webpage running on other devices other than local machine, Nginx and tunnel could be used. There could also be looked at other ways if needed. Nginx was almost setup for flask, but due to longer lasting issues was put to hold but files are still provided
Deprecated Containers
These used to be available but are now unused as they would not work with the current web setup. There is the option to reimplement these back into the project, if available but as of 25-01-2024, these are deprecated. They are still commented within the docker compose to be able to improve upon further. The .env file is also here as it doesn't function anything as of now since php are free to use without them
.env
There is also a .env file available this file is used to give variables over to the docker compose file. This file includes the domain name of our tunnel the port for both the webserver and the mysql server.
NGINX
NGINX is the webserver at which we will host our WebEnviroment which will send over their data to the tunnel in order for this to work it needs to have php already completeted.
Tunnel
this is where we setup to be able to access our website remotely and make it accessable to other people. the port and domain are editable in the .Env file and we use a very specific domain name in order to have the least chance to get another person using the same domain name.