Skip to content

Commit

Permalink
Added the documentation site based on facebooks Docusaurus
Browse files Browse the repository at this point in the history
Related: #8
Related: #123
Related: #214
  • Loading branch information
andygrunwald committed May 31, 2018
1 parent 671d567 commit d91baec
Show file tree
Hide file tree
Showing 29 changed files with 1,098 additions and 104 deletions.
12 changes: 12 additions & 0 deletions .gitignore
Expand Up @@ -13,3 +13,15 @@ LanSuite-*_checksums.txt


# Generated folder/files # Generated folder/files
/vendor/ /vendor/

# Docs
.DS_Store
node_modules
lib/core/metadata.js
lib/core/MetadataBlog.js
website/translated_docs
website/build/
website/yarn.lock
website/node_modules
website/i18n/*
!website/i18n/en.json
339 changes: 339 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

145 changes: 41 additions & 104 deletions README.md
@@ -1,125 +1,62 @@
# LANSuite - Web based LAN-Party Management System # LANSuite · [![Build Status](https://travis-ci.org/lansuite/lansuite.svg?branch=master)](https://travis-ci.org/lansuite/lansuite) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md#pull-requests)


[![Build Status](https://travis-ci.org/lansuite/lansuite.svg?branch=master)](https://travis-ci.org/lansuite/lansuite) LANSuite is a Content Management System designed primarily for the needs of LAN-Parties


LANSuite is a administration system for LAN-Parties based. > *German version of this README* can be found at [README-DE.md](./README-DE.md).
*German version of this README*: Can be found at [README-DE.md](./README-DE.md). LANSuite has features like ...


## Features * **Registration for parties** Announce a new LAN-Party and enable people to sign up with a direct payment flow and several follow up actions like Clan creation and more.
* **Seat plans** Define a seating plan with several rooms and areas and let LAN Party attendees choose their seat in advance. This enables clans to sit together to facilitate better team play.
* **Organisation of tournaments** Manage tournaments for multiple games with different modes like single- and double-elimination, league or group games with KO strategy.
* **Projector support** Show the latest content like news messages, the current state of a tournament or a timetable at a wall via the projector mode during the party to inform attendees.
* **Cash- and Money management** Manage the cash flow of your organization team and don't lose the overview.
* **News system** Announce updates and inform all party guests about the latest news with a simple to use news system.
* **and many more ...** Other features like a picture gallery, a hall of fame and more are included. Give LANSuite a try, install and test it.


* Organisation of tournaments ## Getting started
* Registration for parties
* News- and messaging system
* Projector support
* Cash / Money management
* Foodcenter
* Hardware / Server inventory
* Picture gallery
* Seat plans
* and many more ...


## Requirements See our documentation on [lansuite.github.io/lansuite](https://lansuite.github.io/lansuite/docs/installation.html).
There you will find information on how to install it, what the requirements are, how to configure the system and more.


* >= PHP 7 (with `mysqli`, `snmp` and `gd` extensions) If you still struggle with getting started, feel free to [open an issue](https://github.com/lansuite/lansuite/issues/new) and tell us your challenge.
* >= MySQL 5.6.3 With such feedback, we can help you and improve the documentation.


## Installation ## Call out for users


### Docker Are you using LANSuite?
If yes, let us know in [Who is using LANSuite? #312](https://github.com/lansuite/lansuite/issues/312).


We assume that you have a running [Docker Community Edition](https://www.docker.com/community-edition) installed. ## Contributing


``` Every helping hand is welcomed.
$ git clone https://github.com/lansuite/lansuite.git You don't need to be able to write source code.
$ cd lansuite Actions like ...
$ touch ./inc/base/config.php
$ # Add the content of the example configuration file below into ./inc/base/config.php
$ chmod 0777 ./inc/base/config.php
$ chmod -R 0777 ./ext_inc/
$ docker-compose up
$ docker-compose run php composer install
```
Note:
Some distributions (e.g. Fedora) restrict access to the docker daemon socket to user `root` only .
This results in a error message as `ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?`
Run the two `docker-compose` commands as user `root` (via `su`or `sudo`) in that case.


This will start a [Nginx webserver](https://nginx.org/) with a [php-fpm](https://secure.php.net/manual/en/install.fpm.php) configuration and a [MySQL database](https://www.mysql.com/) for you. * Improve the documentation
After everything started you should be able to visit http://`<Your-Docker-IP>`:8080/ and see a running LanSuite-System. * Fixing typos
* Translating texts into another language
* Welcome newcomers
* Helping out with support in the issue tracker
* Talking about LANSuite at events like meetups or LANParties
* And similar activities


*Warning*: This Docker setup should not be used for production. It contains a debugging setup like [Xdebug](https://xdebug.org/). are also highly valuable.
So feel free, get started and help us to build a better community and system.


### Docker with a database dump ### Contributing Guide


If you have already a running website based on LanSuite, you can also start a docker based setup with a copy of your database. Read our [contributing guide](https://github.com/lansuite/lansuite/blob/master/CONTRIBUTING.md) to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to LanSuite.
It comes handy to test the new features with your dataset.


This guide assumes that you have already a copy of your database in a single SQL file. ### Beginner Friendly Bugs
If you don't have one, you can create one with tools like [mysqldump](https://dev.mysql.com/doc/refman/5.7/en/mysqldump-sql-format.html), [PHPMyAdmin](https://www.phpmyadmin.net/) or ask your hoster for a copy.


Move your database dump into the root folder of LanSuite and name it `database-dump.sql`: To help you get your feet wet and get you familiar with our contribution process, we have a list of [beginner friendly bugs](https://github.com/LanSuite/LanSuite/labels/good%20first%20issue) that contain bugs which are fairly easy to fix. This is a great place to get started.


``` ## Contact
$ mv /your/db/dump.sql /lansuite/copy/database-dump.sql
```


After this, you can start the [docker-compose](https://docs.docker.com/compose/) setup via The best way to get in contact with us is via [GitHub Issues](https://github.com/lansuite/lansuite/issues).
Over this way, it is transparent to the community, and all team members and contributors are informed and have the chance to respond.


``` ## License
$ docker-compose -f docker-compose.yml -f docker-compose.dump.yml up
```


### Configuration file LanSuite is [GPL v2 licensed](./LICENSE).

An example configuration file looks like:

```ini
[lansuite]
version=Nightly
default_design=simple
chmod_dir=777
chmod_file=666
debugmode=0

[database]
server=mysql
user=root
passwd=
database=lansuite
prefix=ls_
charset=utf8
```

**Warning**: Setting directories to `0777` is not suggested for production. Only your webserver user should be able to write into this directory.

## Development

### Contribution Guide

Checkout how to contribute in our [Contribution Guide](./CONTRIBUTING.md).

### Language

Main language of this project is english.
We also support issues and pull requests in german.
The reason is that LANSuite is a quite old system and a massive userbase only speaks german.
To not loose them, we will support both languages.
See [Switch language of documentation, development, communication to english #2](https://github.com/lansuite/lansuite/issues/2) for more details.

### Coding style guide

This project follows the coding guideline standards:

* [PSR-1: Basic Coding Standard](http://www.php-fig.org/psr/psr-1/)
* [PSR-2: Coding Style Guide](http://www.php-fig.org/psr/psr-2/)

### Generating API docs

Former versions of LANSuite bundled an API documentation in the `docs/` folder.
To generate an API documentation in a HTML-Version you can use [phpDocumentor](https://www.phpdoc.org/):

```
$ composer install
$ bin/phpdoc run --progressbar -t ./docs/
```
12 changes: 12 additions & 0 deletions docs/development-api-docs.md
@@ -0,0 +1,12 @@
---
id: api-docs
title: Generating API docs
---

Former versions of LANSuite bundled an API documentation in the `docs/` folder.
To generate an API documentation in a HTML-Version you can use [phpDocumentor](https://www.phpdoc.org/):

```
$ composer install
$ bin/phpdoc run --progressbar -t ./docs/
```
9 changes: 9 additions & 0 deletions docs/development-coding-style-guide.md
@@ -0,0 +1,9 @@
---
id: coding-style-guide
title: Coding style guide
---

This project follows the coding guideline standards:

* [PSR-1: Basic Coding Standard](http://www.php-fig.org/psr/psr-1/)
* [PSR-2: Coding Style Guide](http://www.php-fig.org/psr/psr-2/)
15 changes: 15 additions & 0 deletions docs/development-documentation.md
@@ -0,0 +1,15 @@
---
id: documentation
title: Documentation
---

The documentation is build with [Docusaurus](https://docusaurus.io/).
Please check out their *Getting Started* guide for installation.

### Building the site

Switch to the *website* folder via `cd website`.
Then run the *local* webserver via `yarn start` or `npm start`.

This depends on what you prefer or what you have installed.
See [npm](https://docs.npmjs.com/getting-started/what-is-npm) and [yarn](https://github.com/yarnpkg/yarn) for reference.
27 changes: 27 additions & 0 deletions docs/getting-started-configuration.md
@@ -0,0 +1,27 @@
---
id: configuration
title: Configuration
---

## Configuration file

An example configuration file looks like:

```ini
[lansuite]
version=Nightly
default_design=simple
chmod_dir=777
chmod_file=666
debugmode=0

[database]
server=mysql
user=root
passwd=
database=lansuite
prefix=ls_
charset=utf8
```

**Warning**: Setting directories to `0777` is not suggested for production. Only your webserver user should be able to write into this directory.
48 changes: 48 additions & 0 deletions docs/getting-started-installation.md
@@ -0,0 +1,48 @@
---
id: installation
title: Installation
---

## Docker

We assume that you have a running [Docker Community Edition](https://www.docker.com/community-edition) installed.

```
$ git clone https://github.com/lansuite/lansuite.git
$ cd lansuite
$ touch ./inc/base/config.php
$ # Add the content of the example configuration file below into ./inc/base/config.php
$ chmod 0777 ./inc/base/config.php
$ chmod -R 0777 ./ext_inc/
$ docker-compose up
$ docker-compose run php composer install
```

> Some distributions (e.g. Fedora) restrict access to the docker daemon socket to user `root` only.
> This results in a error message as `ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?`
Run the two `docker-compose` commands as user `root` (via `su`or `sudo`) in that case.

This will start a [Nginx webserver](https://nginx.org/) with a [php-fpm](https://secure.php.net/manual/en/install.fpm.php) configuration and a [MySQL database](https://www.mysql.com/) for you.
After everything started you should be able to visit http://`<Your-Docker-IP>`:8080/ and see a running LanSuite-System.

*Warning*: This Docker setup should not be used for production. It contains a debugging setup like [Xdebug](https://xdebug.org/).

## Docker with a database dump

If you have already a running website based on LanSuite, you can also start a docker based setup with a copy of your database.
It comes handy to test the new features with your dataset.

This guide assumes that you have already a copy of your database in a single SQL file.
If you don't have one, you can create one with tools like [mysqldump](https://dev.mysql.com/doc/refman/5.7/en/mysqldump-sql-format.html), [PHPMyAdmin](https://www.phpmyadmin.net/) or ask your hoster for a copy.

Move your database dump into the root folder of LanSuite and name it `database-dump.sql`:

```
$ mv /your/db/dump.sql /lansuite/copy/database-dump.sql
```

After this, you can start the [docker-compose](https://docs.docker.com/compose/) setup via

```
$ docker-compose -f docker-compose.yml -f docker-compose.dump.yml up
```
9 changes: 9 additions & 0 deletions docs/getting-started-requirements.md
@@ -0,0 +1,9 @@
---
id: requirements
title: Requirements
---

## System requirements

* Minimum [PHP](https://php.net/) 7.0 (with *mysqli*, *snmp* and *gd* extensions enabled)
* Minimum [MySQL](https://www.mysql.com/) 5.6.3
6 changes: 6 additions & 0 deletions docs/guides-upgrade.md
@@ -0,0 +1,6 @@
---
id: upgrade
title: Upgrade to a newer version
---

TODO This needs to be written
33 changes: 33 additions & 0 deletions website/blog/2018-06-01-documentation-launch.md
@@ -0,0 +1,33 @@
---
title: Launch of the documentation
author: Andy Grunwald
authorURL: http://twitter.com/andygrunwald
---

In April 2017 we kicked off the development of LANSuite again.
Since then more than 900 commits including tons of bug fixes were done.

During the development, various people opened issues in our GitHub issue tracker and reported bugs, contributed to discussions, requested features and asked questions related to LANSuite.

Especially the last point, asking questions, will be tackled with this announcement. **Today we are launching the new documentation of LANSuite**.

<!--truncate-->

With the new documentation suite, we want to make LANSuite more accessible and more comfortable for our users. The articles in it are far from complete, but we will extend those over time.
Especially with questions asked by users.

## Contribution

A contribution is welcome.
If you know a particular area of LANSuite and think that others can benefit from it, [send us a Pull Request](https://github.com/lansuite/lansuite/pulls).
We would be happy to review it.

## Technical background

This documentation page is powered by [Docusaurus](https://docusaurus.io). An open source project by [Facebook](https://github.com/facebook/Docusaurus).

Articles are written in [Markdown syntax](https://daringfireball.net/projects/markdown/syntax) and are organized in `.md` files in the [`doc` folder in our repository](https://github.com/lansuite/lansuite/tree/master/docs).

That's it so far.
Let see what the future brings and what documentation articles will be written.
Happy documenting!

0 comments on commit d91baec

Please sign in to comment.