Supercharge Your Modpack with Solder
Switch branches/tags
Nothing to show
Clone or download
Latest commit e29f64a Nov 6, 2018
Permalink
Failed to load latest commit information.
.circleci Migrate CI to CircleCI Apr 3, 2018
app fix: implement missing verification controller Nov 2, 2018
bootstrap Apply fixes from StyleCI (#115) Apr 3, 2018
config Update launcher-api configuration Apr 18, 2018
database Update laravel framework to 5.7 Oct 25, 2018
docs Update Jekyll Oct 25, 2018
packages fix: implement missing verification controller Nov 2, 2018
public refactor(resources): remove generated resources from repo (#70) Feb 1, 2018
resources Update laravel framework to 5.7 Oct 25, 2018
routes Update laravel framework to 5.7 Oct 25, 2018
storage Update laravel framework to 5.7 Oct 25, 2018
tests Update laravel framework to 5.7 Oct 25, 2018
.codeclimate.yml disable string-constant checks on codeclimate Mar 12, 2018
.env.example derive mirror_url directly from Storage Feb 10, 2018
.gitattributes feat(api): Implement core legacy API endpoints Sep 9, 2017
.gitignore ignore generated resources Feb 10, 2018
.php_cs.dist Update copyright Apr 3, 2018
.styleci.yml Update documentation and dev tools Apr 3, 2018
CHANGELOG.md Update laravel framework to 5.7 Oct 25, 2018
CONTRIBUTING.md Update documentation and dev tools Apr 3, 2018
LICENSE.md Update documentation and dev tools Apr 3, 2018
README.md Correct repo URL Nov 6, 2018
artisan feat(api): Implement core legacy API endpoints Sep 9, 2017
composer.json Update laravel framework to 5.7 Oct 25, 2018
composer.lock Update laravel framework to 5.7 Oct 25, 2018
package-lock.json Update npm dependencies Oct 25, 2018
package.json Update npm dependencies Oct 25, 2018
phpunit.dusk.xml feat(auth): implement basic login/logout Sep 23, 2017
phpunit.xml Add application encryption key for testing Apr 3, 2018
server.php feat(api): Implement core legacy API endpoints Sep 9, 2017
webpack.mix.js Update laravel framework to 5.7 Oct 25, 2018

README.md

TechnicPack Solder

CircleCI Coverage Status StyleCI

Supercharge Your Modpack with Solder. Build, and maintain multiple versions of modpacks and manage all required downloads in one place.

Getting Started

These instructions will get you a locally running version of solder for development and testing purposes. Its important to note that this application is still in early development and updates may break functionality or require special upgrade steps. Do not use this in production.

Prerequisites

To run this project, you must have PHP 7.1.3 or newer, composer and npm installed. You will also probably want to have a web server running to serve the site (although this isn't strictly required for testing).

Setup

Begin by cloning this repository to your machine, and installing all dependencies.

$ git clone https://github.com/TechnicPack/solder.git
$ cd solder && composer install --no-dev && npm install --only=production
$ npm run production
$ php artisan solder:install

Next, boot up your webserver and visit your application. If using a tool like Laravel Valet, of course the URL will default to http://solder.test. If you aren't using a webserver you can start up a php webserver with the php artisan serve command.

The default username is admin@example.com and the default password is secret

Upgrading

Begin by placing the application in maintenance mode, updating the repository and all dependencies.

$ php artisan down
$ git fetch && git pull
$ composer install --no-dev && npm install --only=production

Finally, rebuild any generated resources, migrate the database and put the application back online

$ npm run production
$ php artisan migrate --force
$ php artisan up

Running the tests

Its important that the project maintain very high test coverage to ensure that changes to the code don't break any expected behavior from the API. This API is called on nearly every time a user runs the TechnicPack Launcher, its an invisible part of what makes Technic work, and we want to keep it invisible to the day-to-day user.

PHPUnit Feature and Unit tests

A majority of the testing is done in feature tests which test the expected output of API endpoints under various conditions and with various inputs. You can run the full suite of unit and feature tests with PHPUnit.

$ vendor/bin/phpunit

Code style tests

Code style is also very important to us, a consistent code style makes the project easier to maintain and the pre- defined rules for how code should look lets everyone focus on function over form. Any push or PR will be checked by StyleCI before being merged. In order to reduce the number of commits, a local config and tool are included to allow you to run a fixer on your code before pushing it up to github.

$ vendor/bin/php-cs-fixer fix -v

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details