Giter Club home page Giter Club logo

messdienerplan_api's Introduction

Messdienerplan API

Eine in Django umgesetzte REST-API zum Verwalten und generieren von Messdienerplänen. Ein Webinterface passend zur API kann hier gefunden werden: messdienerplan_webinterface.

Installation

Docker / docker-compose

Bei jedem commit in dieser Repository wird automatisch von einer GitHub Action ein Docker Container gebaut, der in der GitHub Container Registry hochgeladen wird und verwendet werden kann. Um diesen mit einer Datenbank zu verwenden, sollte die docker-compose.yml verwendet werden.

1. Voraussetzungen

  • Docker muss installiert sein (Informationen zur Installation unter: Get Docker)
  • Docker Compose muss installiert sein (Informationen zur Installation unter: Install Docker Compose)

2. docker-compose.yml und sample.env herunterladen und vorbereiten

In den Ordern wechseln, wo die Datenbankdateien und die compose abgelegt werden sollen.

$ mkdir messdienerplan-api && cd messdienerplan-api

docker-compose.yml und sample.env herunterladen (Per Befehl oder per Browser Download).

$ wget \
  https://raw.githubusercontent.com/hauketoenjes/messdienerplan_api/main/docker-compose.yml \
  https://raw.githubusercontent.com/hauketoenjes/messdienerplan_api/main/sample.env

sample.env in .env umbenennen (Damit sie gelesen werden kann)

$ mv sample.env .env

.env im Editor öffnen und Variablen füllen. Weiter Informationen zu den benötigten Variablen stehen in der .env oder sample.env Datei.

$ nano .env

3. Hinweise für den Einsatz in Produktion

  • Es wird empfohlen nicht den Docker-Tag latest als Version für die MariaDB Datenbank zu verwenden, da nicht abzusehen ist, ob es in Zukunft Änderungen an der API oder Sonstige Breaking Changes gibt.

    Weiter Informationen über die verfügbaren Versionen (Tags) für das MariaDB Docker Image findet man hier: Docker Hub

    Um die Version zu ändern, muss der latest Tag in der docker-compose.yml geändert werden.

4. Starten der docker-compose

Um die Docker Container zu starten, muss folgender Befehl im Verzeichnis mit der in Schritt 2 heruntergeladenen docker-compose.yml ausgeführt werden:

-d für den detached mode, um die Container im Hintergrund laufen zu lassen. Kann auch zu Debug Zwecken weggelassen werden, weil die Logs Ausgaben dann direkt in der Console landen.

$ docker-compose up -d

Django legt jetzt automatisch das Datenbankschema an, erstellt den Superuser und startet den Server.

  • Der Server ist dann auf http://localhost:8080 erreichbar.
  • Der Admin-Login ist unter http://localhost:8080/admin zu finden

Eventuelle Probleme bei der Installation

  • Die Datenbank braucht eine gewisse Zeit beim ersten Start des Stacks. Es kann passieren, dass Django dann einen Verbindungsabbruch bekommt und die Datenbank nicht initialisieren kann. Um das zu verhindern, sollte die Datenbank vor Django gestartet werden. Das Problem tritt meistens nur beim allerersten Start des Stacks auf. Danach kann man das ganze Projekt gemeinsam starten.

API-Dokumentation

TODO

messdienerplan_api's People

Contributors

hauketoenjes avatar

Stargazers

 avatar

Watchers

 avatar

messdienerplan_api's Issues

Run instructions

Bin leider nicht so gut mit Docker, normalerweise funktionieren meine Container wundersamerweise. 😅

Ich habe docker-compose up ausgeführt, aber da kriege ich ein Problem mit nicht gesetzten Variablen für die Datenbank. Wo muss ich da noch was setzen und unter welcher Adresse erreiche ich die API? Gibt es irgendwo eine Übersicht über die Definitionen?

Danke im Voraus.

Lizenz fehlt

Hey,

ich wollte selbst ein wenig mit der API rumspielen, aber leider fehlt eine Lizenz. Könntest du bitte eine hinzufügen?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.