(cherry picked from commit 9779d9f463e60b6977e8198d12c624a5612b729a)
Web Application Engineering Assignment 2 -- Group 04
Technology Stack
- Angular for our frontend
- Django for our backend
- Database: sqlite3
We chose this specific stack because all of our team members have previously worked with this combination of Angular/Django and there is a lot of documentation for it online. We chose sqlite3 as persistence layer because it comes out of the box with django. Django also provides a built-in ORM mapper. Our db schema is very simple, sqlite3 handles it well.
Linting
We use the ng lint command to lint our frontend. For this to work,
angular-cli must be installed. After that run the following in the frontend
folder:
$ ng lint
Setup
Our project can be run with a simple docker-compose up from the project's root
folder. By default it will pull the required images from docker
hub. To instead build the images locally, comment out
the build keys inside the docker-compose.yml file.
The docker-compose.yml file builds the images by calling the Dockerfiles in
the folders frontend and backend. The frontend is served via nginx on port
4200. The backend is served via gunicorn on port 8000.
The container's database folder is mounted to ./container_db of the host's docker-compose folder. Therefore, the database is persisted at the client's filesystem.
The docker images are available at:
- waecm-2021-group-04-bsp2-fe
- sha256 digest: 2d6526c871285f81dee714f41c41750e6e9c4e124cdc78f69ecd17036f620399
- waecm-2021-group-04-bsp2-be
- sha256 digest: fe0b490a7ad5546371a8a709c9e4f80985326c9a27dddfeef6179f89affc9105
CI
Look at git-lab project https://gitlab.com/Pfingstfrosch/waecm-g4-CI for CI execution. This repository is mirrored to the CI repo, where the pipeline is executed.