mirror of
https://github.com/janishutz/libreevent.git
synced 2025-11-25 05:14:23 +00:00
doc updates
This commit is contained in:
8
notes.md
8
notes.md
@@ -1,14 +1,10 @@
|
|||||||
- Load all orders of customer from db when selecting tickets and save to memory to check if ticket count has been exceeded or not.
|
|
||||||
|
|
||||||
- load all available start page templates with dir crawler
|
|
||||||
|
|
||||||
|
|
||||||
- fix ticket counting
|
|
||||||
- Seat numbering!!
|
- Seat numbering!!
|
||||||
|
|
||||||
|
|
||||||
- Website: Add ids to titles
|
- Website: Add ids to titles
|
||||||
|
|
||||||
|
- Website: Remove comments
|
||||||
|
|
||||||
|
|
||||||
- Update files to import when deploying for included json files instead of secret.json files
|
- Update files to import when deploying for included json files instead of secret.json files
|
||||||
- Also remove /test/ routes
|
- Also remove /test/ routes
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ const path = require( 'path' );
|
|||||||
|
|
||||||
console.log( `
|
console.log( `
|
||||||
|
|
||||||
_ _ _ _
|
_ _ _ _
|
||||||
| (_) | | |
|
| (_) | | |
|
||||||
| |_| |__ _ __ ___ _____ _____ _ __ | |_
|
| |_| |__ _ __ ___ _____ _____ _ __ | |_
|
||||||
| | | '_ \\| '__/ _ \\/ _ \\ \\ / / _ \\ '_ \\| __|
|
| | | '_ \\| '__/ _ \\/ _ \\ \\ / / _ \\ '_ \\| __|
|
||||||
|
|||||||
14
website/dist/docs/admin-panel/index.html
vendored
14
website/dist/docs/admin-panel/index.html
vendored
@@ -18,17 +18,19 @@
|
|||||||
<div id="docPage">
|
<div id="docPage">
|
||||||
<div id="doc-container">
|
<div id="doc-container">
|
||||||
<h1>Home</h1>
|
<h1>Home</h1>
|
||||||
<p>The admin panel is where you can change basically everything about libreevent. Depending on your account's privileges, you may find more or less settings. Only the root account has access to the admin accounts page.</p>
|
<p>The admin panel is where you can change basically everything about libreevent.
|
||||||
<p>Here's a list of the pages available when logged in as the root user. All other users have fewer pages enabled.</p>
|
<!-- In a future update, depending on your account's privileges, you may find more or less settings. Only the root account has access to the admin accounts page. Currently though, all pages are unlocked for all users. --></p>
|
||||||
|
<p>Here's a list of the pages available when logged in as the root user. <!-- All other users have fewer pages enabled.--></p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/docs/admin-panel/admin-accounts">Admin Accounts</a></li>
|
|
||||||
<li><a href="/docs/admin-panel/pages">Pages</a></li>
|
|
||||||
<li><a href="/docs/admin-panel/events">Events</a></li>
|
<li><a href="/docs/admin-panel/events">Events</a></li>
|
||||||
|
<li><a href="/docs/admin-panel/locations">Locations</a></li>
|
||||||
|
<li><a href="/docs/admin-panel/pages">Pages</a></li>
|
||||||
<li><a href="/docs/admin-panel/plugins">Plugins</a></li>
|
<li><a href="/docs/admin-panel/plugins">Plugins</a></li>
|
||||||
|
<li><a href="/docs/admin-panel/seatplan-editor">Seatplan editor</a></li>
|
||||||
<li><a href="/docs/admin-panel/settings">Settings</a></li>
|
<li><a href="/docs/admin-panel/settings">Settings</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Additionally, some settings might not be available to all admin accounts on all pages.</p>
|
<p><!-- Additionally, some settings might not be available to all admin accounts on all pages. --></p>
|
||||||
<p><em>As a general recommendation, we do not encourage logging in as the root user if not strictly necessary, as this can help protect the libreevent installation</em>.</p>
|
<p><!-- <em>As a general recommendation, we do not encourage logging in as the root user if not strictly necessary, as this can help protect the libreevent installation</em>. --></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
|
||||||
|
|||||||
@@ -19,22 +19,45 @@
|
|||||||
<div id="doc-container">
|
<div id="doc-container">
|
||||||
<h1>Settings</h1>
|
<h1>Settings</h1>
|
||||||
<h2>2FA</h2>
|
<h2>2FA</h2>
|
||||||
<p>libreevent offers two different 2fa modes:</p>
|
<p>You can require the users to enable Two-Factor Authentication when confirming their email.
|
||||||
<ul>
|
The following settings are available:</p>
|
||||||
<li>Standard mode: The user has to click on a link that was sent to him via email. He'll automatically be logged in as soon as the page loads.</li>
|
<table>
|
||||||
<li>Enhanced mode: The user has to click on a link that was sent to him via email and then has to confirm it by entering the code that is shown to him on the 2FA page. After that he'll automatically be logged in.</li>
|
<thead>
|
||||||
</ul>
|
<tr>
|
||||||
<p>In both modes, the system informs the user about the IP address that tried to log into the account.</p>
|
<th>Setting</th>
|
||||||
<p>This setting can be changed individually for admin and user accounts and 2FA can be disabled entirely. It is highly encouraged to enable this at least for the admin accounts and for user accounts set the requirement to 'User-defined' or 'Always required' instead of 'Disabled'.</p>
|
<th>Explanation</th>
|
||||||
<h2>User account passwords</h2>
|
</tr>
|
||||||
<p>Here you may set password requirements for the user accounts. The system will always be offering the users to generate a password that is strong for them to facilitate the process of setting a password.</p>
|
</thead>
|
||||||
<h2>Change organisation name</h2>
|
<tbody>
|
||||||
<p>This should be self explanatory, but keep in mind that this change will only take effect after the next restart of the node app.</p>
|
<tr>
|
||||||
|
<td>always require</td>
|
||||||
|
<td>Always require the user to use Two-Factor Authentication (will be enforced at account confirmation)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>user can decide</td>
|
||||||
|
<td>Allow the user to decide if they want to enable Two-Factor Authentication (default, recommended)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>disable</td>
|
||||||
|
<td>Disable Two-Factor-Authentication entirely (only for users, root account still has 2FA enforced!)</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<h2>Currency</h2>
|
||||||
|
<p>This setting allows you to change the currency in which you want your customers to pay. The code has to be a valid ISO 4217 currency code. See more <a href="https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes">here</a> (Wikipedia). This setting defaults to USD.</p>
|
||||||
|
<h2>Ticket Timeout</h2>
|
||||||
|
<p>The ticket timeout setting allows you to specify for how much time of inactivity the ticket is reserved for a user. The value is to be entered in seconds. The database is parsed every five minutes by default (can be changed in the config file) and, if the threshold set here is exceeded, the session is garbage collected and all tickets selected are returned to the available tickets pool.</p>
|
||||||
|
<h2>Payment gateway</h2>
|
||||||
|
<h3>Select a gateway</h3>
|
||||||
|
<p>With this setting, you can select the payment gateway to use. You may follow the link <a href="https://libreevent.janishutz.com/docs/payments">here</a> to get more information on the payment gateway. You need to hit save to enable editing for the gateway settings.</p>
|
||||||
|
<h3>Gateway settings</h3>
|
||||||
|
<p>Here you need to enter gateway specific settings to make them work. Do note, that some gateway plugins might crash libreevent on startup if these settings aren't entered, if you are using an unofficial plugin. All officially supported plugins will not crash it if the values entered are incorrect</p>
|
||||||
<h1>Admin Accounts</h1>
|
<h1>Admin Accounts</h1>
|
||||||
<p>On this page you may add, modify or remove admin accounts. Note that in order for you to see this page, you'll need to be logged in as the user root.</p>
|
<p>On this page you may add, modify or remove admin accounts. <!--Note that in order for you to see this page, you'll need to be logged in as the user root.--></p>
|
||||||
<h2>Adding an account</h2>
|
<h2>Adding an account</h2>
|
||||||
<h3>Privileges</h3>
|
<p><!-- ### Privileges
|
||||||
<p>libreevent features a privilege system where you can choose to what group of users you want to add a user you are currently creating. Possible values are:</p>
|
TODO: will be added in future version
|
||||||
|
libreevent features a privilege system where you can choose to what group of users you want to add a user you are currently creating. Possible values are:</p>
|
||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -57,16 +80,48 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Event-Handler</td>
|
<td>Event-Handler</td>
|
||||||
<td>Can log into the apps to do entry control</td>
|
<td>Can log into the apps to do entry control --></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
<h3>Username</h3>
|
||||||
|
<p>Give the user a username that can be used for internal recognition. It does not currently have any other use.</p>
|
||||||
<h3>Email</h3>
|
<h3>Email</h3>
|
||||||
<p>An Email address is required for account activation and to recover a password in case it gets lost. The system will automatically send an activation email so the user can confirm that the email address is valid.</p>
|
<p>An email address is required to allow the user to log in (it's their username) and for Two-Factor-Authentication.</p>
|
||||||
|
<h3>Password</h3>
|
||||||
|
<p>The password of the admin account does not have any specific requirements (yet), but we strongly encourage you to follow these guidelines:</p>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Factor</th>
|
||||||
|
<th>Requirement</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Length</td>
|
||||||
|
<td>At least 15 characters</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Special characters</td>
|
||||||
|
<td>At least 2 required</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Numbers</td>
|
||||||
|
<td>At least 2 required</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Upper / Lower case</td>
|
||||||
|
<td>At least 2 upper & 2 lower case letters required</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
<h3>2FA</h3>
|
<h3>2FA</h3>
|
||||||
<p>With this checkbox you can choose if this user needs to do two factor authentication, meaning, if the user needs to authorise the login using a link. In the <a href="/docs/admin-panel/settings#2fa">Settings</a> you may choose between the two different 2FA modes that libreevent offers.</p>
|
<p>With this setting, you can choose one of three Two-Factor-Authentication modes, namely, disabled for no 2FA, Simple for one where the user has to verify the login by clicking a link in an email sent to them or Enhanced for one where the user has to enter a code after having opened up the link in the email sent to them.</p>
|
||||||
<h2>Modifying an account</h2>
|
<h2>Modifying an account</h2>
|
||||||
|
<p>You can update the username and the password of any admin account by clicking onto it.</p>
|
||||||
<h2>Removing an account</h2>
|
<h2>Removing an account</h2>
|
||||||
|
<p>You can delete an admin account by right clicking on it (yes, right click) and hit delete. Confirm again that you want to delete the account and then it's gone.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
|
||||||
|
|||||||
2
website/dist/docs/how-it-works/index.html
vendored
2
website/dist/docs/how-it-works/index.html
vendored
@@ -20,7 +20,7 @@
|
|||||||
<h1>How it works</h1>
|
<h1>How it works</h1>
|
||||||
<p>This page gives you a somewhat detailed overview on how the system operates. Note that this page is not made with user-legibility in mind, as this page is oriented to give possible contributors an introduction to the project to help them getting started. Therefore we expect you to have quite decent understanding of the underlying programming languages and concepts.</p>
|
<p>This page gives you a somewhat detailed overview on how the system operates. Note that this page is not made with user-legibility in mind, as this page is oriented to give possible contributors an introduction to the project to help them getting started. Therefore we expect you to have quite decent understanding of the underlying programming languages and concepts.</p>
|
||||||
<h1>Programming languages</h1>
|
<h1>Programming languages</h1>
|
||||||
<p>This project is written in a variety of different programming languages. First of all, the backend is written in Node.js with express.js routing. It also uses nodemysql to interact with the MySQL database, if the user chose to use one. For authentication, it uses express-session, for which a new session secret is generated whenever the server restarts to increase security.</p>
|
<p>This project is written in a variety of different programming languages. First of all, the backend is written in Node.js with express.js routing. It also uses nodemysql to interact with the MySQL database, if the user choses to use one. For authentication, it uses express-session, for which a new session secret is generated whenever the server restarts to increase security.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
|
||||||
|
|||||||
5
website/dist/docs/payments/index.html
vendored
5
website/dist/docs/payments/index.html
vendored
@@ -18,10 +18,11 @@
|
|||||||
<div id="docPage">
|
<div id="docPage">
|
||||||
<div id="doc-container">
|
<div id="doc-container">
|
||||||
<h1>Payments</h1>
|
<h1>Payments</h1>
|
||||||
<p>Including many payment methods can help the user choose the one that fits them best, but can also be overwhelming and a pain to set up. So please try to use as few different payment gateways as possible. Officially, libreevent supports <em>Stripe</em> and <em>Payrexx</em>. More payment gateways might come in the future as a plugin which can be installed by following our guide <a href="/docs/plugins/install#payments">here</a></p>
|
<p>Including many payment methods can help the user choose the one that fits them best, but can also be overwhelming and a pain to set up. So please try to use as few different payment gateways as possible. Officially, libreevent supports <em>Stripe</em> and <em>Payrexx</em>. More payment gateways might come in the future as a plugin which can be installed by following our guide <a href="/docs/plugins/install#payments">here</a>
|
||||||
|
Please use our cost efficiency calculator <a href="/docs/payments/cost-efficiency-calculator">here</a> to see which is best suited for you.</p>
|
||||||
<h2>Advantages / Disadvantages of each payment gateway</h2>
|
<h2>Advantages / Disadvantages of each payment gateway</h2>
|
||||||
<h3>payrexx</h3>
|
<h3>payrexx</h3>
|
||||||
<p>Payrexx is a Swiss, lesser known payment gateway and it is not ideal for you if you expect to have a low sales volume, as their basic plan costs you EUR 15 a month. If your sales volume is fairly high, it may be worth it as their per-transaction fees are quite a bit lower than Stripe's and they offer more payment options.
|
<p>Payrexx is a Swiss payment gateway and it features a massive variety in payment methods, ranging from various kinds of credit cards all the way to specific online payment methods. See all their payment methods <a href="https://payrexx.com/en/paymentmethods">here</a>.
|
||||||
See payrexx <a href="https://www.payrexx.com/en/pricing/">pricing here</a> and sign up <a href="https://signup.payrexx.com">here</a>. You can find a full list of supported payment methods <a href="https://payrexx.com/en/paymentmethods">here</a></p>
|
See payrexx <a href="https://www.payrexx.com/en/pricing/">pricing here</a> and sign up <a href="https://signup.payrexx.com">here</a>. You can find a full list of supported payment methods <a href="https://payrexx.com/en/paymentmethods">here</a></p>
|
||||||
<h3>Stripe</h3>
|
<h3>Stripe</h3>
|
||||||
<p>Stripe is one of the most well known payment gateways out there and it is really easy to get started. See all their payment methods <a href="https://stripe.com/en-ch/payments/payment-methods">here</a>. If you choose to use Stripe, you may follow their guides on how to set up more payment options <a href="https://stripe.com/docs/payments/payment-methods/overview">here</a>
|
<p>Stripe is one of the most well known payment gateways out there and it is really easy to get started. See all their payment methods <a href="https://stripe.com/en-ch/payments/payment-methods">here</a>. If you choose to use Stripe, you may follow their guides on how to set up more payment options <a href="https://stripe.com/docs/payments/payment-methods/overview">here</a>
|
||||||
|
|||||||
1
website/dist/docs/plugins/index.html
vendored
1
website/dist/docs/plugins/index.html
vendored
@@ -18,6 +18,7 @@
|
|||||||
<div id="docPage">
|
<div id="docPage">
|
||||||
<div id="doc-container">
|
<div id="doc-container">
|
||||||
<h1>Plugins</h1>
|
<h1>Plugins</h1>
|
||||||
|
<p>libreevent features exensive plugin support, with all internal libreevent libraries also working together with plugins. This though poses a potential risk if the user is installing harmful plugins. This is why there is a curated list of secure plugins that the users might use.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
|
||||||
|
|||||||
31
website/dist/docs/setup/installation/index.html
vendored
31
website/dist/docs/setup/installation/index.html
vendored
@@ -48,19 +48,44 @@ In the database, all the userdata is stored. libreevent currently supports two d
|
|||||||
<p>In JSON, data is stored in so-called Key-Value-Pairs. Look for "db" in there and and replace the default "mysql" with "json". Keep this file and folder open and skip the next chapter.</p>
|
<p>In JSON, data is stored in so-called Key-Value-Pairs. Look for "db" in there and and replace the default "mysql" with "json". Keep this file and folder open and skip the next chapter.</p>
|
||||||
<h2>Setting up a MySQL database</h2>
|
<h2>Setting up a MySQL database</h2>
|
||||||
<p>At this point, we assume that you have already purchased webhosting and you are logged in to the administration panel of your webhosting provider. This guide will use the Web Control Panel called "Direct Admin", as it is fairly common, along with cPanel. Somewhere, there should be a button that says something like "MySQL Management". Click it, which will bring you to the MySQL-Database management page. Now, create a new database by clicking the "Create new database" (or similar) button which will bring up the database creation tool. Give the database any name you like and give the user any name you like. When creating a password, it is important that this password is long and complicated. What we recommend doing is using a password generator or to essentially "sit" onto your keyboard to get a random string of characters as the password.</p>
|
<p>At this point, we assume that you have already purchased webhosting and you are logged in to the administration panel of your webhosting provider. This guide will use the Web Control Panel called "Direct Admin", as it is fairly common, along with cPanel. Somewhere, there should be a button that says something like "MySQL Management". Click it, which will bring you to the MySQL-Database management page. Now, create a new database by clicking the "Create new database" (or similar) button which will bring up the database creation tool. Give the database any name you like and give the user any name you like. When creating a password, it is important that this password is long and complicated. What we recommend doing is using a password generator or to essentially "sit" onto your keyboard to get a random string of characters as the password.</p>
|
||||||
<p>TODO: Make setup better (including db setup)
|
<p>TODO: Make setup better (including db setup), add notes on setup key
|
||||||
Now copy this password and open the download location of libreevent. Inside of the libreevent folder and open the "config" folder and open the file called "db.config.json" using a text editor (on Windows you could use Notepad, on MacOS TextEdit and on Linux, I personally like to use Nano or Vim, which are cli only or for graphical ones, use for example gedit). Now, paste the password between the empty quotes after "password". For the host value type your domain, for the "database" parameter, type the name of the database you just created (including any prefixes shown there) and for the database user, type the username you just created (again, including any prefixes shown in the admin panel).</p>
|
Now copy this password and open the download location of libreevent. Inside of the libreevent folder and open the "config" folder and open the file called "db.config.json" using a text editor (on Windows you could use Notepad, on MacOS TextEdit and on Linux, I personally like to use Nano or Vim, which are cli only or for graphical ones, use for example gedit). Now, paste the password between the empty quotes after "password". For the host value type your domain, for the "database" parameter, type the name of the database you just created (including any prefixes shown there) and for the database user, type the username you just created (again, including any prefixes shown in the admin panel).</p>
|
||||||
<p>Now hit "Create Database" to actually create the database.</p>
|
<p>Now hit "Create Database" to actually create the database.</p>
|
||||||
<p>And just like that, you have finished setting up your database.</p>
|
<p>And just like that, you have finished setting up your database.</p>
|
||||||
<h1>Uploading libreevent</h1>
|
<h1>Uploading libreevent</h1>
|
||||||
<p>It is now time to upload libreevent to your webhosting account. The recommended way of doing this is to download a FTP client like "FileZilla" and to connect to the hosting account in that way using the credentials provided by the hosting provider. In this guide we assume you use this way. Download and install FileZilla. It is a free and open source FTP client. Open it and you will see a few empty fields towards the top of the app. There you will need to fill in the information given by your hosting provider. Usually, the Host is ftp.yourDomain.com, the username and password are usually your admin account credentials and the port is usually 25552 or can be left empty. Then hit quick connect. At this point, a SSL warning might appear, as the certificate might not (yet) be configured correctly to also include FTP. Accept the certificate and you should be connected. Now create a new folder called "libreevent" by right clicking onto the empty space on the right pane (where it says "remote site") and selecting "create directory". Then on the left side (where it says "local side" navigate to the extracted libreevent folder and upload its contents by selecting it and right clicking to hitting "Upload"). Once that process is completed, you should be set to go to the next session.</p>
|
<p>It is now time to upload libreevent to your webhosting account. The recommended way of doing this is to download a FTP client like "FileZilla" and to connect to the hosting account in that way using the credentials provided by the hosting provider. In this guide we assume you use this way.</p>
|
||||||
|
<p>Download and install FileZilla. It is a free and open source FTP client. Open it and you will see a few empty fields towards the top of the app. There you will need to fill in the information given by your hosting provider. Usually, the Host is ftp.yourDomain.com, the username and password are usually your admin account credentials and the port is usually 25552 or can be left empty. Then hit quick connect. At this point, a SSL warning might appear, as the certificate might not (yet) be configured correctly to also include FTP. Accept the certificate and you should be connected.</p>
|
||||||
|
<p>Now create a new folder called "libreevent" by right clicking onto the empty space on the right pane (where it says "remote site") and selecting "create directory". Then on the left side (where it says "local side" navigate to the extracted libreevent folder and upload its contents by selecting it and right clicking to hitting "Upload"). Once that process is completed, you should be set to go to the next session.</p>
|
||||||
|
<p><strong>IMPORTANT:</strong> Never upload libreevent into any public_html folders ever! This poses a SEVERE security risk and, if a JSON database is used, exposes ALL userdata to the internet! Always upload to a non-publicly accessible folder!</p>
|
||||||
<h2>npm install</h2>
|
<h2>npm install</h2>
|
||||||
<p>This project relies on a variety of different node.js modules that need to be installed on the server. Most webhosting providers give you an easy way to run <em>npm install</em>. If not, you might be required to upload the <em>node_modules</em> folder yourself. You can create such a folder either by downloading the <em>node_modules.zip</em> folder from the GitHub releases page or by installing npm on your local machine and then by running <em>npm i</em> in the terminal.</p>
|
<p>This project relies on a variety of different node.js modules that need to be installed on the server. Most webhosting providers give you an easy way to run <em>npm install</em>. If not, you might be required to upload the <em>node_modules</em> folder yourself. You can create such a folder either by downloading the <em>node_modules.zip</em> folder from the GitHub releases page or by installing npm on your local machine and then by running <em>npm i</em> in the terminal.</p>
|
||||||
<p>To set up the node application in most hosting providers, head to the admin panel of your hosting account once again. Navigate to the main page and scroll down until you find something that says "Setup Node.js App". Click it and wait for it to load. Click "Create Application" and select the newest available Node.js version and set the Application mode to "Production". For the application root insert the directory name which you have created just before when uploading.</p>
|
<p>To set up the node application in most hosting providers, head to the admin panel of your hosting account once again. Navigate to the main page and scroll down until you find something that says "Setup Node.js App". Click it and wait for it to load. Click "Create Application" and select the newest available Node.js version and set the Application mode to "Production". For the application root insert the directory name which you have created just before when uploading.</p>
|
||||||
<p>For the Application URL field, click onto "Choose any value" and select an appropriate domain.</p>
|
<p>For the Application URL field, click onto "Choose any value" and select an appropriate domain.</p>
|
||||||
<p>For the Application startup file type "app.js".</p>
|
<p>For the Application startup file type "app.js".</p>
|
||||||
<p>In the section "Environment variables" hit "Add Variable" and in the appearing fields type beneath "Name" the following: "PORT" (without the quotes!) and under "Value" "8080" (again without quotes). Then hit done and at the top "create". If you end up on the start page again, hit the little pencil icon to get to the application editor. Scroll down to the "Detected configuration files" section and click "Run NPM Install". Once it shows a success message (at the top!), hit "Restart".</p>
|
<p>In the section "Environment variables" hit "Add Variable" and in the appearing fields type beneath "Name" the following: "PORT" (without the quotes!) and under "Value" "8080" (again without quotes). Then hit done and at the top "create". If you end up on the start page again, hit the little pencil icon to get to the application editor. Scroll down to the "Detected configuration files" section and click "Run NPM Install". Once it shows a success message (at the top!), hit "Restart".</p>
|
||||||
<p>CONGRATULATIONS! You are all set with the installation of libreevent! Now open a new tab in your webbrowser and type your domain name!</p>
|
<p>CONGRATULATIONS! You are all set with the installation of libreevent! Now open a new tab in your webbrowser and type your domain name. If you can connect to your domain and libreevent is accessible, you are all set!</p>
|
||||||
|
<h1>Troubleshooting</h1>
|
||||||
|
<p>Here are some tips for the most common problems that might arise from the installation</p>
|
||||||
|
<h2>Not accessible, but running</h2>
|
||||||
|
<p>Some with some webhosting companies you need to remove the index.html file from the public_html directory of the domain you are running libreevent on.</p>
|
||||||
|
<h2>Can access all libreevent backend files</h2>
|
||||||
|
<p>You have most likely uploaded libreevent into the public_html file which you should NEVER do, as it poses an insane security risk. Delete it from that folder and put it into a different folder which is not publicly accessible.</p>
|
||||||
|
<h2>libreevent doesn't start</h2>
|
||||||
|
<p>On most webhosting accounts, there's a file created in the directory of libreevent called something like stderr.log. Have a look at that file and compare errors with the ones listed here:</p>
|
||||||
|
<h3>DB HAS TO USE InnoDB!</h3>
|
||||||
|
<p>The MySQL database you are using is not supported by libreevent or is incorrectly configured. Please ensure that InnoDB is enabled. If you cannot enable it yourself, please contact the DB hosting provider.</p>
|
||||||
|
<h3>ERR_ENCODING_NOT_SUPPORTED</h3>
|
||||||
|
<p>If this error occurs, most likely, the Node.js build of your hosting provider is set to small-icu mode, meaning some localizations are missing, one of which is ascii, which is required by the pdf generator that libreevent uses. To resolve this, you will need to download a special package.json file and add two (more) environment variables:</p>
|
||||||
|
<ul>
|
||||||
|
<li>For the package.json file, download it from <a href="https://libreevent.janishutz.com/downloads/full-icu/package.json">here</a> TODO: Add download!</li>
|
||||||
|
<li>For the environment variables, add the following:</li>
|
||||||
|
</ul>
|
||||||
|
<pre><code>NODE_ICU_DATA=./node_modules/full-icu
|
||||||
|
FULL_ICU_PREFER_NPM=true
|
||||||
|
</code></pre>
|
||||||
|
<p><img src="/assets/environmentVariables.png" alt="EnvVars"></p>
|
||||||
|
<h3>Any other error</h3>
|
||||||
|
<p>Please click <a href="https://github.com/simplePCBuilding/libreevent/issues/new">here</a> to head to GitHub and open a new issue. You will need to have a GitHub Account to open an issue. If you don't have a GitHub account, you may also contact me using my <a href="https://api.janishutz.com/contact/report?origin=libreevent?error=unkown?lang=en">Bug reporting tool</a>.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
|
||||||
|
|||||||
5
website/dist/docs/setup/security/index.html
vendored
5
website/dist/docs/setup/security/index.html
vendored
@@ -18,6 +18,11 @@
|
|||||||
<div id="docPage">
|
<div id="docPage">
|
||||||
<div id="doc-container">
|
<div id="doc-container">
|
||||||
<h1>Security best practices</h1>
|
<h1>Security best practices</h1>
|
||||||
|
<p>Whilst libreevent uses modern security features, no Software is perfect when it comes to security. This is why it is important to keep libreevent updated, as potential security issues are addressed with them, as well as potential bugs. Next to that, a incorrectly set up instance of libreevent might pose a security problem, but we try to make the attack surface as small as possible. The most significant security risk that can arise from improperly setting up libreevent is not using HTTPS for the server.</p>
|
||||||
|
<h2>Reverse Proxy</h2>
|
||||||
|
<p>For simplicity reasons, libreevent does not (yet) natively support SSL-Certificates. This is why libreevent should be put behind a reverse proxy to ensure that all users use SSL (Secure Sockets Layer) or TLS (Transport Layer Security) when connecting to it. Most webhosting plans are already behind a reverse proxy, you will just need to force a HTTPS redirect in the settings of the admin panel of the webhosting account. If you are manually deploying libreevent on a server without a reverse proxy, we urge you to use a reverse proxy with e.g. nginx or apache. There are a lot of guides out there on how to set a such up. Please also get yourself a Certificate for your domain and activate it. A common methods for acquiring such Certificates is to use the "Certbot" CLI application on Linux. It works with both apache and nginx and can automatically renew the certificate for you once it expires if set to run on a cronjob.</p>
|
||||||
|
<h2>HTTPS</h2>
|
||||||
|
<p>As mentioned previously in the Reverse Proxy section, you should always have HTTPS enabled using a reverse proxy. Since most hosting accounts already have a reverse proxy installed, you just need to set it to automatically redirect HTTP to HTTPS in the webhosting admin panel.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
|
||||||
|
|||||||
1
website/dist/docs/sponsoring/index.html
vendored
1
website/dist/docs/sponsoring/index.html
vendored
@@ -18,6 +18,7 @@
|
|||||||
<div id="docPage">
|
<div id="docPage">
|
||||||
<div id="doc-container">
|
<div id="doc-container">
|
||||||
<h1>Sponsoring</h1>
|
<h1>Sponsoring</h1>
|
||||||
|
<p>As any project, libreevent also needs funding to keep development going. If you have used and liked libreevent and want to see it grow and become more rich in features, you might want to consider donating to the project.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
|
||||||
|
|||||||
5
website/dist/index.html
vendored
5
website/dist/index.html
vendored
@@ -35,11 +35,6 @@
|
|||||||
<p>Use libreǝvent's powerful seat plan editor to create a seat plan that closely resembles your event location within minutes</p>
|
<p>Use libreǝvent's powerful seat plan editor to create a seat plan that closely resembles your event location within minutes</p>
|
||||||
<a href="/seatplan-editor-showcase/" class="button">Seat plan editor showcase</a>
|
<a href="/seatplan-editor-showcase/" class="button">Seat plan editor showcase</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="feature">
|
|
||||||
<h4>Many different payment options</h4>
|
|
||||||
<p>Choose from a range of different payment providers and add more using plugins!</p>
|
|
||||||
<a href="/docs/payments" class="button">Payment providers</a>
|
|
||||||
</div>
|
|
||||||
<div class="feature">
|
<div class="feature">
|
||||||
<h4>Simple to set up</h4>
|
<h4>Simple to set up</h4>
|
||||||
<p>This project is simple to set up on your own web-server. Follow our tutorial on how to install it!</p>
|
<p>This project is simple to set up on your own web-server. Follow our tutorial on how to install it!</p>
|
||||||
|
|||||||
@@ -1,28 +1,38 @@
|
|||||||
# Settings
|
# Settings
|
||||||
|
|
||||||
## 2FA
|
## 2FA
|
||||||
libreevent offers two different 2fa modes:
|
You can require the users to enable Two-Factor Authentication when confirming their email.
|
||||||
- Standard mode: The user has to click on a link that was sent to him via email. He'll automatically be logged in as soon as the page loads.
|
The following settings are available:
|
||||||
- Enhanced mode: The user has to click on a link that was sent to him via email and then has to confirm it by entering the code that is shown to him on the 2FA page. After that he'll automatically be logged in.
|
|
||||||
|
|
||||||
In both modes, the system informs the user about the IP address that tried to log into the account.
|
Setting | Explanation
|
||||||
|
----------------|-----------
|
||||||
This setting can be changed individually for admin and user accounts and 2FA can be disabled entirely. It is highly encouraged to enable this at least for the admin accounts and for user accounts set the requirement to 'User-defined' or 'Always required' instead of 'Disabled'.
|
always require | Always require the user to use Two-Factor Authentication (will be enforced at account confirmation)
|
||||||
|
user can decide | Allow the user to decide if they want to enable Two-Factor Authentication (default, recommended)
|
||||||
## User account passwords
|
disable | Disable Two-Factor-Authentication entirely (only for users, root account still has 2FA enforced!)
|
||||||
Here you may set password requirements for the user accounts. The system will always be offering the users to generate a password that is strong for them to facilitate the process of setting a password.
|
|
||||||
|
|
||||||
|
|
||||||
## Change organisation name
|
## Currency
|
||||||
This should be self explanatory, but keep in mind that this change will only take effect after the next restart of the node app.
|
This setting allows you to change the currency in which you want your customers to pay. The code has to be a valid ISO 4217 currency code. See more [here](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) (Wikipedia). This setting defaults to USD.
|
||||||
|
|
||||||
|
## Ticket Timeout
|
||||||
|
The ticket timeout setting allows you to specify for how much time of inactivity the ticket is reserved for a user. The value is to be entered in seconds. The database is parsed every five minutes by default (can be changed in the config file) and, if the threshold set here is exceeded, the session is garbage collected and all tickets selected are returned to the available tickets pool.
|
||||||
|
|
||||||
|
|
||||||
|
## Payment gateway
|
||||||
|
### Select a gateway
|
||||||
|
With this setting, you can select the payment gateway to use. You may follow the link [here](https://libreevent.janishutz.com/docs/payments) to get more information on the payment gateway. You need to hit save to enable editing for the gateway settings.
|
||||||
|
|
||||||
|
### Gateway settings
|
||||||
|
Here you need to enter gateway specific settings to make them work. Do note, that some gateway plugins might crash libreevent on startup if these settings aren't entered, if you are using an unofficial plugin. All officially supported plugins will not crash it if the values entered are incorrect
|
||||||
|
|
||||||
|
|
||||||
# Admin Accounts
|
# Admin Accounts
|
||||||
On this page you may add, modify or remove admin accounts. Note that in order for you to see this page, you'll need to be logged in as the user root.
|
On this page you may add, modify or remove admin accounts. <!--Note that in order for you to see this page, you'll need to be logged in as the user root.-->
|
||||||
|
|
||||||
## Adding an account
|
## Adding an account
|
||||||
|
|
||||||
### Privileges
|
<!-- ### Privileges
|
||||||
|
TODO: will be added in future version
|
||||||
libreevent features a privilege system where you can choose to what group of users you want to add a user you are currently creating. Possible values are:
|
libreevent features a privilege system where you can choose to what group of users you want to add a user you are currently creating. Possible values are:
|
||||||
|
|
||||||
Group | Allowed settings
|
Group | Allowed settings
|
||||||
@@ -30,17 +40,31 @@ Group | Allowed settings
|
|||||||
Root | All pages. Can only be one account (the root account)
|
Root | All pages. Can only be one account (the root account)
|
||||||
Admin | Can access all pages and settings except for Admin Accounts
|
Admin | Can access all pages and settings except for Admin Accounts
|
||||||
Event-Manager | Access the events & pages page
|
Event-Manager | Access the events & pages page
|
||||||
Event-Handler | Can log into the apps to do entry control
|
Event-Handler | Can log into the apps to do entry control -->
|
||||||
|
|
||||||
|
### Username
|
||||||
|
Give the user a username that can be used for internal recognition. It does not currently have any other use.
|
||||||
|
|
||||||
### Email
|
### Email
|
||||||
An Email address is required for account activation and to recover a password in case it gets lost. The system will automatically send an activation email so the user can confirm that the email address is valid.
|
An email address is required to allow the user to log in (it's their username) and for Two-Factor-Authentication.
|
||||||
|
|
||||||
|
### Password
|
||||||
|
The password of the admin account does not have any specific requirements (yet), but we strongly encourage you to follow these guidelines:
|
||||||
|
|
||||||
|
Factor | Requirement
|
||||||
|
--------------------|--------------------------------------------------
|
||||||
|
Length | At least 15 characters
|
||||||
|
Special characters | At least 2 required
|
||||||
|
Numbers | At least 2 required
|
||||||
|
Upper / Lower case | At least 2 upper & 2 lower case letters required
|
||||||
|
|
||||||
### 2FA
|
### 2FA
|
||||||
With this checkbox you can choose if this user needs to do two factor authentication, meaning, if the user needs to authorise the login using a link. In the [Settings](&/admin-panel/settings#2fa) you may choose between the two different 2FA modes that libreevent offers.
|
With this setting, you can choose one of three Two-Factor-Authentication modes, namely, disabled for no 2FA, Simple for one where the user has to verify the login by clicking a link in an email sent to them or Enhanced for one where the user has to enter a code after having opened up the link in the email sent to them.
|
||||||
|
|
||||||
|
|
||||||
## Modifying an account
|
## Modifying an account
|
||||||
|
You can update the username and the password of any admin account by clicking onto it.
|
||||||
|
|
||||||
|
|
||||||
## Removing an account
|
## Removing an account
|
||||||
|
You can delete an admin account by right clicking on it (yes, right click) and hit delete. Confirm again that you want to delete the account and then it's gone.
|
||||||
@@ -1,10 +1,11 @@
|
|||||||
# Payments
|
# Payments
|
||||||
Including many payment methods can help the user choose the one that fits them best, but can also be overwhelming and a pain to set up. So please try to use as few different payment gateways as possible. Officially, libreevent supports *Stripe* and *Payrexx*. More payment gateways might come in the future as a plugin which can be installed by following our guide [here](&/plugins/install#payments)
|
Including many payment methods can help the user choose the one that fits them best, but can also be overwhelming and a pain to set up. So please try to use as few different payment gateways as possible. Officially, libreevent supports *Stripe* and *Payrexx*. More payment gateways might come in the future as a plugin which can be installed by following our guide [here](&/plugins/install#payments)
|
||||||
|
Please use our cost efficiency calculator [here](&/payments/cost-efficiency-calculator) to see which is best suited for you.
|
||||||
|
|
||||||
## Advantages / Disadvantages of each payment gateway
|
## Advantages / Disadvantages of each payment gateway
|
||||||
|
|
||||||
### payrexx
|
### payrexx
|
||||||
Payrexx is a Swiss, lesser known payment gateway and it is not ideal for you if you expect to have a low sales volume, as their basic plan costs you EUR 15 a month. If your sales volume is fairly high, it may be worth it as their per-transaction fees are quite a bit lower than Stripe's and they offer more payment options.
|
Payrexx is a Swiss payment gateway and it features a massive variety in payment methods, ranging from various kinds of credit cards all the way to specific online payment methods. See all their payment methods [here](https://payrexx.com/en/paymentmethods).
|
||||||
See payrexx [pricing here](https://www.payrexx.com/en/pricing/) and sign up [here](https://signup.payrexx.com). You can find a full list of supported payment methods [here](https://payrexx.com/en/paymentmethods)
|
See payrexx [pricing here](https://www.payrexx.com/en/pricing/) and sign up [here](https://signup.payrexx.com). You can find a full list of supported payment methods [here](https://payrexx.com/en/paymentmethods)
|
||||||
|
|
||||||
### Stripe
|
### Stripe
|
||||||
|
|||||||
Reference in New Issue
Block a user