2021-05-11 19:52:55 +02:00

48 lines
1.9 KiB
Markdown

# 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:
```bash
$ 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](https://hub.docker.com). 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](https://hub.docker.com/r/pfingstfrosch/waecm-2021-group-04-bsp-2-fe)
* sha256 digest: 2d6526c871285f81dee714f41c41750e6e9c4e124cdc78f69ecd17036f620399
* [waecm-2021-group-04-bsp2-be](https://hub.docker.com/r/pfingstfrosch/waecm-2021-group-04-bsp-2-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.