https://github.com/engelsystem/engelsystem
Shift planning system for chaos events.
https://github.com/engelsystem/engelsystem
ccc chaos engelsystem hacktoberfest php
Last synced: about 1 month ago
JSON representation
Shift planning system for chaos events.
- Host: GitHub
- URL: https://github.com/engelsystem/engelsystem
- Owner: engelsystem
- License: gpl-2.0
- Created: 2012-04-11T17:36:00.000Z (about 13 years ago)
- Default Branch: main
- Last Pushed: 2024-04-26T22:57:20.000Z (about 1 year ago)
- Last Synced: 2024-05-02T04:53:42.843Z (about 1 year ago)
- Topics: ccc, chaos, engelsystem, hacktoberfest, php
- Language: PHP
- Homepage: https://engelsystem.de
- Size: 18.7 MB
- Stars: 411
- Watchers: 21
- Forks: 235
- Open Issues: 195
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-starred - engelsystem/engelsystem - Shift planning system for chaos events. (php)
README
[](https://chaos.expert/engelsystem/engelsystem/commits/main)
[](https://chaos.expert/engelsystem/engelsystem/commits/main)
[](LICENSE)# Engelsystem
Please visit [engelsystem.de](https://engelsystem.de) for a feature list.To report bugs use [engelsystem/issues](https://github.com/engelsystem/engelsystem/issues).
Since the Engelsystem is open source, you can help improving it.
We really love to get pull requests containing fixes or improvements.
Please read the [CONTRIBUTING.md](CONTRIBUTING.md) and [DEVELOPMENT.md](DEVELOPMENT.md) before you start.## Installation
The Engelsystem may be installed manually or by using the provided [docker setup](#docker).### Requirements
* PHP >= 8.2
* Required modules:
* dom
* json
* mbstring
* PDO
* mysql
* tokenizer
* xml/libxml/SimpleXML
* xmlwriter
* MySQL-Server >= 5.7.8 or MariaDB-Server >= 10.7
* Webserver, i.e. lighttpd, nginx, or ApacheFrom previous experience, 2 cores and 2GB ram are roughly enough for up to 1000 Angels (~700 arrived + 500 arrived but not working) during an event.
### Download
* Go to the [Releases](https://github.com/engelsystem/engelsystem/releases) page and download the latest stable release file.
* Extract the files to your webroot and continue with the directions for configurations and setup.### Configuration and Setup
* The webserver must have write access to the `storage` directory and read access for all other directories
* The webserver must point to the `public` directory.
* The webserver must read the `.htaccess` file and `mod_rewrite` must be enabled* Recommended: Directory Listing should be disabled.
* There must be a MySQL database set up with a user who has full rights to that database.
* If necessary, create a `config/config.php` to override values from `config/config.default.php`.
* To disable/remove values from the following lists, set the value of the entry to `null`:
* `themes`
* `tshirt_sizes`
* `headers`
* `header_items`
* `footer_items`
* `locales`
* `contact_options`
* To import the database, the `bin/migrate` script has to be run. If you can't execute scripts, you can use the `initial-install.sql` file from the release zip.
* In the browser, login with credentials `admin` : `asdfasdf` and change the password.The Engelsystem can now be used.
### Session Settings
* Make sure the config allows for sessions.
* Both Apache and Nginx allow for different VirtualHost configurations.### Docker
For instructions on how to build the Docker container for development, please consult the [DEVELOPMENT.md](DEVELOPMENT.md).
#### Build
To build the `es_server` container:
```bash
cd docker
docker compose build
```or to build the container by its own:
```bash
docker build -f docker/Dockerfile . -t es_server
```#### Run
Start the Engelsystem
```bash
cd docker
docker compose up -d
```#### Set Up / Migrate Database
Create the Database Schema (on a fresh install) or import database changes to migrate it to the newest version
```bash
cd docker
docker compose exec es_server bin/migrate
```### Scripts
#### bin/deploy.sh
The `bin/deploy.sh` script can be used to deploy the Engelsystem. It uses rsync to deploy the application to a server over ssh.For usage see `./bin/deploy.sh -h`
#### bin/migrate
The `bin/migrate` script can be used to import and update the database of the Engelsystem.For more information on how to use it call `./bin/migrate help`
### Documentation
More documentation can be found at: https://engelsystem.de/doc/