Inertia is an E-scooter booking application created by 7 student from the University of Leeds, Hashir Ali, Omar Choudhry, Mohamed Fakeih, Alexandru-Iulian Magan, Joshua Reiner, William Toon and Diansitan Zhuang.
Installation and Execution
Project Automation via Docker
The project contains a docker image for each component, and a docker-compose file that orchestrates
these images to be run as services. The configuration creates three services:
(a reverse proxy that redirects to the
frontend components), a persistent volume for the
where the database is stored. This deployment is a production deployment, which means that all components
run in release mode.
# install docker (or replacement) and docker-compose # using official docker convinience script curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh # using official docker-compose way of installation () curl -SL https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose # Alternatively, on Fedora # Installing podman as a drop in replacement for docker; and installing docker-compose from official repositories. sudo dnf install podman docker-compose
git clone https://gitlab.com/sc20aim/inertia docker-compose up
Development Mode Components
The project requires the following software packages in order to be built:
- dotnet sdk
- (optionally) doxygen for documentation generation
- (optionally) python3 for running backend tests
The following commands show how these packages can be acquired on Fedora Linux (34, 35):
sudo dnf install dotnet npm nodejs python3 python3-pip doxygen
Running the backend in development mode can be done like so:
# assuming the current working directory is: inertia/backend dotnet restore inertia.csproj dotnet run # the backend server will run automatically on the URL: https://localhost:7220
Running the tests
# assuming the current working directory is: inertia/backend-testing pip3 install -r requirements.txt python3 main.py https://localhost:7220
# assuming the current working directory is: inertia/backend doxygen .doxygen
Before running the frontend component, the file
frontend/src/host.js must be modified to contain:
// Backend host IP address. let host = "https://localhost:7220"; export default host;
This will ensure that the frontend will connect to the backend that is running in the development mode.
# assuming the current working directory is: inertia/frontend npm install npm start
The project marking guide is listed here with hyperlinks to all links in the Wiki. It is recommended for any assessors reading this to follow those hyperlinks to make sure everything listed in the specification has been included in the repository.
The full interim deliverable specification list is listed here with hyperlinks to all links in the Wiki. It is recommended for any assessors reading this to follow those hyperlinks to make sure everything listed in the specification has been included in the repository.
Documentation of the project is available here.
Documentation of the frontend component is available when browsing through the artefacts of the
jsdocs-documentation pipeline in
Documentation of the backend component is available here.