With fax you can improve the way your newsroom works with your extensive network of freelance writers. fax enables your editors to set up a database, manage story pitches and automatically inform your freelancers about the status of their articles.
fax is Open-source software licensed under the MIT license.
- Copy the .env.example to .env
- Load the dependencies
composer update
- Start the containers
docker-compose up
- Create basic folders and migrations
docker-compose exec web composer prepare
- Create the application key
docker-compose exec web php artisan key:generate
- Setup passport
docker-compose exec web php artisan passport:install
- Clear config cache
docker-compose exec web php artisan config:cache
- Create some example users and articles
docker-compose exec web php artisan db:seed
- PHP >= 7.0.0
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- MySQL Database
- point the DOCUMENT_ROOT of your webserver to the public folder within FAX
- load the dependencies
composer update
- copy the .env.example file to .env and change the database settings to the one of your database server
- run
composer prepare && php artisan key:generate && php artisan passport:install && artisan config:cache
- to create some sample data, run
php artisan db:seed
This will run all the steps needed to get FAX up and running. Two example users and a few example articles will be created as well. You can now login to your own FAX by opening the your webbrowser on http://localhost and using one of the accounts below.
Freelancer: fritz@example.com:secret Editor: eddi@example.com:secret
- npm
- React
- Webpack
- Babel
- Browserlist
- Autoprefixer
- Apollo
- SASS
- UIkit
To keep dependencies low, we use npm scripts for taskrunner purposes. Some of them run Webpack. There are two Webpack config files, one for development and the other one for production. Right now they only contain Babel for ES5 compatibility.
- Run
$ npm install
. - Inside the
public/build
directory create aall.css
symlink targetingall.dev.css
orall.prod.css
, depending on your environment, e. g.:$ ln -s all.dev.css all.css
- Inside the
public/build
directory create abundle.js
symlink targetingbundle.dev.js
orbundle.prod.js
, depending on your environment, e. g.:$ ln -s bundle.dev.js bundle.prod.js
There are some other npm scripts, which can make life easier. Some of those are:
$ npm run build
. Your build should be compiled into thedocroot
directory.$ npm run build:css
runs the SASS compiler, followed by Autoprefixer and CleanCSS. Since our frontend is based on UIkit, this task won’t probably change a lot.$ npm run build:js
runs Webpack in both dev and prod configurations.$ npm run watch:js-dev
runs Webpack in watch mode in dev configuration.$ npm run watch:js-prod
runs Webpack in watch mode in dev configuration.
There are some other tasks, which aren’t mentioned here. You can have a look at package.json
.
To provide your guidelines in fax simply replace the guidelines.pdf file in the public folder with your guidelines.