git.christianimmanuel.de / Tools / dienstplancreator

dienstplancreator git · main

git clone https://git.christianimmanuel.de/tools/dienstplancreator.gitwget https://git.christianimmanuel.de/tools/dienstplancreator/archive/dienstplancreator.tar.gz
4c11056Update README.mdChristian Immanuel Fischer · 2 years ago
dapi/
dfontawesome/
djs/
dpngs/
-admin.php7.7 KB
-createDataDienstplanDB.sh4.7 KB
-dataToDatabase.html766 B
-dienstplan-example29.2 KB
-favicon.ico0 B
-index.php30.4 KB
-login.php3.7 KB
-logout.php493 B
-README.md2.6 KB
-redirect.php687 B
-style-admin.css2.5 KB
-style-colors.css1.2 KB
-style-defaults.css5.5 KB
-style-login.css625 B
-style-user.css1.3 KB
-style-useradmin.css2.2 KB
-style-visitor.css543 B
-style.css62.5 KB
-useradmin.php5.1 KB

README.md

Dienstplancreator

DIese Seite ist zum Erstellen und Speichern von Dienstplänen.

BUGS

  • Wenn eine person gelöscht wird kann in dieser woche die Tabellenübersicht nicht genutzt werden
  • Gelöschte personen können nicht in der Personenübersicht angeeigt werden

Voraussetzungen

  • PHP
  • MySQL

Anleitung

  1. Repository klonen:
  2. git clone https://github.com/nimbin2/dienstplancreator.git

  1. MySQL Benutzer und Datenbank erstellen. Derzeit sollte der Name "datadienstplandb" beibehalten werden oder er muss in allen Dateien im Ordner "api" geändert werden (z.B. mit sed -i "s/datadienstplandb/NEUERNAME/g" api//):
mysql -u root -p

CREATE USER `USERNAME`@'localhost' IDENTIFIED BY 'PASSWORD';
CREATE DATABASE `datadienstplandb`;
GRANT ALL PRIVILEGES ON `datadienstplandb`.* TO 'USERNAME'@'localhost';
FLUSH PRIVILEGES;

2.1 MYSQL Tabellen erstellen. Zur hilfe gibt es das script ``createDataDienstplanDB.sh` welches mit `bash createDataDienstplanDB.sh`` ausgeführt werden kann. Hierfür wirst du nach dem root mysql passwort gefragt. Wenn die datenbank nicht "datadienstplandb" genannt wurde muss der name im script geändert werden.

2.2 MySQL Username und Password in api/config/db_inc.php einfügen:

$user = 'USERNAME';
$passwd = 'PASSWORD';
  1. Apache starten:
<VirtualHost *:80>
    ServerAdmin mail@me.de
    DocumentRoot "PATHTODIR"
    ServerName dienstplan-creator.de
    ServerAlias www.dienstplan-creator.de
    ErrorLog "PATHTOERRORLOG"
    CustomLog "PATHTOACCESSLOG" combined

    <Directory "PATHTODIR">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
  1. Domain DNS einrichten und mit dem Server verknüpfen:
  • Typ: A
  • Name: @
  • Daten: SERVERIP
  1. Certbot für HTTPS:
sudo certbot --apache -d mydomain.de
  1. In der index.php den Abschnitt zum Erstellen eines Accounts uncommenten, sodass der erste Nutzer erstellt wird,- ändere "admin" zu "superadmin". Nach erstem Laden der Seite den Abschnitt wieder kommentieren:
# Insert a new account (execute twice to test the "already existing" account error)
  1. Fehler finden
  1. Einen Fehler korrigieren, der eine MySQL-Injection ermöglicht (irgendwo in den API-Files)
  1. Feststellen, dass es mein erstes größeres PHP Projekt ist und somit aufräumen
  1. Feststellen, dass das gesamte Projekt einmal um und nicht neu geschrieben wurde und somit die JS-Files aufräumen (z.B. ungenutze Funktionen löschen, - ich glaube es sind um die 30 - hier ist ein Skript, das dabei helfen kann)