Webapp to create images in the corporate design of the GREENs of Switzerland. Just another school project 🎒
Developement is now continued by gruene.ch on their own fork. See grueneschweiz/imagery.
Easily generate images in the corporate design of the swiss GREENS.
This tools aims to provide a simple way to generate images conforming the
corporate design rules. It’s designed to be so simple to use, that no further
instructions are needed and no corporate design rules can be broken.
Not everybody has the software and skills to create corporate design images on
his own. And it’s not everybodys hobby to learn all the rules of the corporate
design.
Read the dedicated docs.
… is cool, simple and helps to make the 🌍 a better place 🤩
git clone https://github.com/cyrillbolliger/imagery
cd
into the folder containing the repobash install.sh
and have a ☕️ while it installs.[email protected]
and password
to login.storage
|-- app
|-- fonts
|-- SanukOT-Bold.otf
|-- SanutOT-Fat.otf
storage
|-- app
|-- vector_logo_templates_indesign
|-- gruene
|-- ...
|-- gruene-les-vertes
|-- ...
|-- les-vertes
|-- ...
Using a Lamp stack on docker, the tool is built with Laravel.
The frontend is built with VueJS and the image processing
is done with the canvas
element. It’s all bundled by Webpack using
Laravel Mix. Have a look at the package.json
if you want to dig deeper.
docker-compose up -d
docker-compose stop
docker exec -it imagery bash
.exit
to escape the container.All tests are based on PHPUnit. It may be used as follows:
docker exec imagery vendor/bin/phpunit
.Use the handy phpMyAdmin or access the mysql CLI using
docker exec -it imagery_mysql bash -c 'mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} imagery'
The node container is watching the js, css and scss files and building the assets.
docker exec -it imagery_node bash
.docker attach imagery_node
.The PHP Composer runs directly on the imagery
container.
docker exec imagery composer YOUR_COMPOSER_SUBCOMMAND
.All mail you send out of the application will be caught by Mailhog. Access it
on localhost:8020
All translation is done with crowdin. To translate
in-context visit localhost:8000/?translate=true&lang=zu.
Logins created by the demo seeder:
[email protected]
:password
[email protected]
:password
[email protected]
:password
[email protected]
:password
We use actions to test the application (and maybe in the future to automate the
crowdin workflow).
proprietary.tar.gz.enc
The tests rely on the proprietary fonts. Bundle them using the following
command (executed in the project root):
tar -zcv \
storage/app/fonts \
storage/app/vector_logo_templates_indesign \
| openssl enc \
-e -aes256 \
-md sha512 \
-pbkdf2 -iter 100000 \
-pass file:proprietary.key \
-out proprietary.tar.gz.enc
The files will be automatically decrypted by the Add proprietary files
step (cf. .github/workflows/tests.yml
).
The key is stored as a
repository secret.
To decrypt and unpack the bundle manually:
openssl enc \
-d -aes256 \
-md sha512 \
-pbkdf2 -iter 100000 \
-pass file:proprietary.key \
-in proprietary.tar.gz.enc \
| tar -xzv