Skip to content
This repository has been archived by the owner on May 24, 2023. It is now read-only.

improv-ee/improv-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

improv-web

Maintainability Test Coverage

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

Development

Configuration instructions are provided for a Linux (Ubuntu) based development environment.

Needs to be installed

Setup

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

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/).

Regenerate documentation

Run:

$ php artisan apidoc:generate

Open public/doc/index.html with a local webbrowser.

External services in use

AWS S3

S3 buckets are used for data storage (ex: uploaded images). See config/filesystems.php for more.

Google Cloud

Google Translate is used for translating text - see config/googletranslate.php for more.

Google Places is used for fetching Place information.

Contributing

Want to help? Great - submit a pull request or an issue.

License

Licensed under Apache-2.0 license.