Warning This project is abandoned and has been archived. For the current version of Solder, please see https://github.com/TechnicPack/TechnicSolder instead.
Note: This repository contains the core code of the Solder framework. If you want to deploy Solder to your own servers, visit the main Solder repository
Supercharge Your Modpack with Solder. Build, and maintain multiple versions of modpacks and manage all required downloads in one place.
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.
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).
Begin by cloning this repository to your machine, and installing all dependencies.
$ git clone https://github.com/solderio/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 [email protected]
and the default password is secret
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
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.
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 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
We use SemVer for versioning. For the versions available, see the tags on this repository.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
- Kyle Klaus - Initial work - Indemnity83
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details