This is the source code for https://improv.ee, a website dedicated to listing information and events about improvised theatre.
This project is archived and superceeded by https://github.com/improv-ee/improv-static
Configuration instructions are provided for a Linux (Ubuntu) based development environment.
- Docker (latest)
- Docker Compose (latest)
openssl
(apt-get install openssl
)- Composer
- npm
Install vendor packages:
cd src
composer install
npm install
Run the setup script:
./setup.sh
This will generate a new self-signed CA and certificates for local development. You need to
install your new Certificate Authority into your web browser. Here is how
to do it for Firefox (Settings -> Certificate Authorities -> Add
). The CA file for importing
is docker/lb/certs/ca.crt
. If done correctly, this will make https://
"green" for our dev domains:
web.local.improv.ee
will be the frontend webserver
api.local.improv.ee
will be the API
DNS entries are already configured in global DNS to point to 127.0.0.1
.
Review settings in src/.env
- this will be your local conf.
Bring up services:
docker-compose up
You need to bootstrap the database (once) and set up Laravel.
docker-compose run webserver bash
php artisan key:generate
php artisan migrate
php artisan db:seed
php artisan passport:install
If all goes well you should have Docker containers running, database bootstrapped and webpages
(with green HTTPS) opening on web.local.improv.ee
and api.local.improv.ee
.
API documentation is generated from API source code using apidoc-generator.
To change it, change PHP code comments on API controllers (src/app/Http/Controllers/Api/
).
Run:
$ php artisan apidoc:generate
Open public/doc/index.html
with a local webbrowser.
S3 buckets are used for data storage (ex: uploaded images). See config/filesystems.php
for more.
Google Translate is used for translating text - see config/googletranslate.php
for more.
Google Places is used for fetching Place information.
Want to help? Great - submit a pull request or an issue.
Licensed under Apache-2.0 license.