From 08fbff0e98085668450ecbead5f2bbb910624ec1 Mon Sep 17 00:00:00 2001 From: Jeremy Quinton Date: Wed, 4 Jul 2018 13:46:20 +0200 Subject: [PATCH] Updated the documentation 1. Update the Readme with better instructions for installation. 2. Migrated the website instructions --- readme.md | 134 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 112 insertions(+), 22 deletions(-) diff --git a/readme.md b/readme.md index d801ed74..1556e1eb 100644 --- a/readme.md +++ b/readme.md @@ -12,15 +12,16 @@ https://www.attendize.com > PLEASE NOTE: Attendize is in the early stages of development and therefore is likely to contain bugs and unfinished features. -> Please ask any questions/report bugs in our new support forum: https://attendize.com/forum/ +> Please ask any questions/report bugs here: https://github.com/Attendize/Attendize/issues Demo Event Page: http://attendize.website/e/799/attendize-test-event-w-special-guest-attendize ---- +Demo Back-end Demo: http://attendize.website/signup + *Attendize* is an open-source event ticketing and event management application built using the Laravel PHP framework. Attendize was created to offer event organisers a simple solution to managing general admission events, without paying extortionate service fees. -Current Features (v1.X.X) +### Current Features (v1.X.X) --- - Beautiful mobile friendly event pages - Easy attendee management - Refunds, Messaging etc. @@ -47,7 +48,7 @@ Current Features (v1.X.X) - Ability to ask custom questions during checkout - Browser based QR code scanner for door management -Roadmap +### Roadmap --- - Theme support - Plugin Support @@ -59,35 +60,124 @@ Roadmap - Support for more payment providers - WordPress Plug-in -Official Documentation +### Contribution +--- +Feel free to fork and contribute. If you are unsure about adding a feature create a Github issue to ask for Feedback. + +### Installation +--- +To get developing straight away use the pre-configured Docker environment and follow the steps below +You would need docker installed on your machine for this to work. Follow the Docker installation steps for your environment here https://docs.docker.com/install + +### Docker dev environment installation steps --- -Limited Documentation available at https://www.attendize.com/documentation.php. Github will be updated with more comprehensive documentation soon. +To run a Docker dev environment follow the steps below. Docker needs to be installed first so you can run Attendzie. To download Docker find the install for your environment here +1. Clone the codebase from Github +```git clone https://github.com/Attendize/Attendize``` -Contribution ---- +2. Change directory to the cloned codebase +```cd Attendize``` -Feel free to fork and contribute. I could use the help! +3. Make a copy of the laravel environment file. It can be useful to set APP_DEBUG=true to help you debug any issues you might have +```cp .env.example .env``` -Docker dev environment (not yet stable) ---- +4. Set permissions correctly on storage and public/user_content folders +```chmod -R a+w storage``` +```chmod -R a+w public/user_content``` -To run a docker dev entionment do the following: +5. Run the docker-compose build command +```docker-compose build``` -``` -git clone https://github.com/Attendize/Attendize -cd Attendize -cp .env.example .env -chmod -R a+w storage -chmod -R a+w public/user_content -docker-compose build -docker run --rm -v $(pwd):/app composer/composer install -docker-compose up -d +6. Run composer to pull in the data dependency +```docker run --rm -it -v $(pwd):/usr/share/nginx/html/attendize attendize_composer composer install``` + +7. Run the Laravel generate a key for the app +```docker run --rm -it -v $(pwd):/usr/share/nginx/html/attendize attendize_php php artisan key:generate``` + +8. Run docker-compose up to create the development environment. You can drop the -d flag to see output from the containers which is useful for debugging. +```docker-compose up -d``` + +At this point you should be able to browse to `http://localhost:8080`. You can follow the web instructions to continue installing Attendize. If you are comfortable +on the command line you can run Step 9 below. + +9. Run the command to create the various database tables +``` docker-compose run php php artisan attendize:install ``` -Attendize will be available at `http://localhost:8080` and maildev at `http://localhost:1080` +Attendize should now be available at `http://localhost:8080` and maildev at `http://localhost:1080` + + +### Manual Installation +--- +Attendize should run on most pre-configured LAMP or LEMP environments as long as certain requirements are adhered to. + +#### Requirements + +##### PHP Version and Extension +PHP >= 5.5.9 +OpenSSL PHP Extension +PDO PHP Extension +Mbstring PHP Extension +Tokenizer PHP Extension +Fileinfo PHP Extension +GD PHP Extension + +##### MySQL +MySQL version 5.6 and 5.7 have been tested + +##### Apache and Nginx +Most versions should work. Check the troubleshooting guide below for correct Nginx and Apache configurations. + +### Troubleshooting + +#### If you have an old version of Attendize installed you can destroy your old environments using the commands below. Please take note that if you have a pre-existing MySQL + +#### Most problems can be fixed my making sure the following files and folders are writable: + +Storage/app/ +Storage/framework/ +Storage/logs/ +Storage/cache/ +public/user_content/ +bootstrap/cache/ +.env +Always check the log in Storage/logs as it will likely show you what the problem is. + +#### Trouble generating PDF tickets? / Checkout failing + +Attendize uses Wkhtml2PDF to generate tickets. If you are getting errors while generating PDFs make sure all the driver files in vendor\nitmedia\wkhtml2pdf\src\Nitmedia\Wkhtml2pdf\lib executable. + +Also make sure the setting for WKHTML2PDF_BIN_FILE is correct in the .env file. The acceptable options are: + +wkhtmltopdf-0.12.1-OS-X.i386 - Mac OS X 10.8+ (Carbon), 32-bit +wkhtmltopdf-amd64 - Linux (Debian Wheezy), 64-bit, for recent distributions (i.e. glibc 2.13 or later) +wkhtmltopdf-i386 - Linux (Debian Wheezy), 32-bit, for recent distributions (i.e. glibc 2.13 or later) + +#### TokenMismatchException error +This error can occur when the session expires, try refreshing the page. + +#### Installer not showing up? +Try navigating to your-site.com/public/. If that works and your-site.com/ doesn't, it means your server configuration needs to be updated. + +##### Apache +Make sure the mod_rewrite module is enabled and the .htaccess file is being recognised. + +##### Nginx +On Nginx, use the following directive in your site configuration: +location / { + try_files $uri $uri/ /index.php?$query_string; +} + +##### Seeing 'Maximum function nesting level of '100' reached' error? +This appears to occur when xdebug is enabled. + +Adding: +xdebug.max_nesting_level = 200 +to php.ini and restarting apache should solve the issue. + License ---