This repository supports editorials handling incoming aricles, through a well presented overview of all articles and a central point of entry
Zugetextet is a web application where the editorials can generate urls for specific topics. With the urls the authors can submit an article.
Zugetextet has a Frontend written in JavaScript, CSS (React) and a Backend witch contains the ASP.NET Core Web Api-Framework.
This project is a study project, which was primarily developed by the interns Cedric Gottschalk and Nehemia Ghebremussie of SYSTAG GmbH.
To run the project you need to have docker & git installed on the host machine.
To run this project clone it with git and build the Docker Image with the Dockerfile contained in the repository. After that you will just have to replace some placeholders (surrounded with []
) and thats it.
- Clone the project with git.
git clone https://github.com/SYSTAGGmbH/zugetextet.git
- Open project in shell terminal.
- Build docker image.
docker build -t [image_tag] ./zugetextet.formulare
- Replace the placeholders and run:
docker run -dp [local_port]:5000 \
-v [volume_name]:/app/App_Data/ \
-e ASPNETCORE_ENVIRONMENT=Production \
-e Config__FrontendDomain=[http(s)://your_domain] \
-e Config__InitialUsername=[username] \
-e Config__InitialPasswordSHA512Hash=[password_sha512_hash] \
-e Config__TokenSecret=[secret_for_jwt_generation] \
-e Config__ConditionsOfParticipationUrl=[url] \
-e Config__ImprintUrl=[url] \
-e Config__PrivacyPolicyUrl=[url] [image_tag]
OR
Replace the placeholders in the command and .env
file and run:
docker run -dp [local_port]:5000 -v [volume_name]:/app/App_Data/ --env-file ./.env [image-tag]
OR
Replace the placeholders in the docker-compose.yml
and .env
file and run:
docker compose up -d
The FrontendDomain
variable needs to be overwritten by an environment variable, otherwise the URLs pointing to the submission forms wouldn't work. Futhermore the login and authentication needs to be configured with the InitialUsername
, InitialPasswordSHA512Hash
and TokenSecret
variables. The SHA512 hash for the password of your choice can be computed on sha512.online. The TokenSecret
can be any string, but for security reasons it should be at least 32 characters long.
Enable the Production environment by setting the ASPNETCORE_ENVIRONMENT
environment variable to Production. Otherwise it can result in displaying sensitive information from exceptions to end users.
To overwrite a config variable with an environment variable the env variable needs to be prefixed with Config__
Variable | Description |
---|---|
Version | Project version |
ConditionsOfParticipationUrl | Link to the Conditions of Participation |
ImprintUrl | Link to the Imprint |
PrivacyPolicyUrl | Link to the PrivacyPolicy |
AllowedMimeTypes | An array with allowed Mime types for the upload Fields (Note: does not apply for the Image upload field) |
AllowedFileExtensions | An array with the allowed file extensions for the upload fields (Note: does not apply for the multi-upload of Images) |
AllowedImageMimeTypes | An array with allowed Mime types for the multi upload field of Images |
AllowedImageFileExtensions | An array with the allowed file extensions for the multi upload field of Images |
AllowedParentalConsentMimeTypes | An array with allowed Mime types for the upload field of the Parental consent |
AllowedParentalConsentFileExtensions | An array with the allowed file extensions for the upload field of the Parental consent |
MaxFileSize | The max file size (per file) for the upload fields |
InitialUsername | The initial username for the login |
InitialPasswordSHA512Hash | The initial password for the login |
TokenSecret | The value with which the securityKey is generated. The securityKey is required for generating the JWT |
FrontendDomain | The domain to reach the frontend |
SubmitFormHeaderVisible | A bool value which determines, wheather the header of the submission will be displayed |
SubmitFormFooterVisible | A bool value which determines, wheather the footer of the submission will be displayed |
An Overview of all created submission forms descending by end date.
By clicking the plus icon in the top right corner a new submission form can be created.
Each of the submission forms can be edited by clicking the edit icon at the end of each row.
Name: Name of the topic
Von: Start date of the submission period
Bis: End date of the submission period
Prosatext sichtbar: Enable the upload of a "Prosatext"
Grafiken sichtbar: Enable the upload of multiple images (max. 5)
Max. Anzahl Lyriktexte: Maximum amount of "Lyriktexts"
An Overview of all submissions.
Each of the columns can be filtered. It is possible to group by columns. The table can be exported to excel (the filters will be applied)
With the url of a submission form, anyone can submit their works (texts and images).
Distributed under the GNU General Public License v3.0. See License.md
in the Licences folder for more information.
- Cedric Gottschalk
- Nehemia Ghebremussie
- Jochen Salcher (Supervisor)