From 46f6a19a5800b3543ade2290df0ae800393da8e3 Mon Sep 17 00:00:00 2001 From: Rizki Heryandi Date: Mon, 19 Apr 2021 13:56:12 +0700 Subject: [PATCH] Add CONTRIBUTING.md --- CONTRIBUTING.md | 212 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 212 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..848a3946f --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,212 @@ +# Contribute to badaso + +Badaso is an open-source project administered by [uasoft](https://soft.uatech.co.id). We appreciate your interest and efforts to contribute to Badaso. + +All efforts to contribute are highly appreciated, we recommend you talk to a maintainer prior to spending a lot of time making a pull request that may not align with the project roadmap. + +## Open Development & Community Driven + +Badaso is an open-source project. See the [license](https://github.com/uasoft-indonesia/badaso/blob/master/license) file for licensing information. All the work done is available on GitHub. + +The core team and the contributors send pull requests which go through the same validation process. + +## Feature Requests + +Feature Requests by the community are highly encouraged. Please feel free to submit your ides on [github discussion](https://github.com/uasoft-indonesia/badaso/discussions/categories/ideas) + +## Code of Conduct + +This project and everyone participating in it are governed by the [Badaso Code of Conduct](code_of_conduct.md). By participating, you are expected to uphold this code. Please read the [full text](code_of_conduct.md) so that you can read which actions may or may not be tolerated. + +## Bugs + +We are using [GitHub Issues](https://github.com/uasoft-indonesia/badaso/issues) to manage our public bugs. We keep a close eye on this so before filing a new issue, try to make sure the problem does not already exist. + +--- + +## Before Submitting a Pull Request + +The core team will review your pull request and will either merge it, request changes to it, or close it. + +**Before submitting your pull request** make sure the following requirements are fulfilled: + +To do : complete this section + +## Contribution Prerequisites + +- You are familiar with Git. + +## Development Workflow + +Before develop Badaso, please get BADASO_LICENSE_KEY by register on Badaso or contact badaso core team. This key must be included in the laravel project's .env. +Steps for registering and getting a license on Badaso Dashboard can be found on Badaso Docs. + +### Installation step + +After getting the license, you can proceed to Badaso installation. + +1, Clone badaso into Laravel project. Sample: +- Root Laravel Project + - /packages // new folder + - /uasoft-indonesia // new folder + - badaso // clone here + +cd into uasoft-indonesia directory, then run +``` +git clone https://github.com/uasoft-indonesia/badaso.git +``` + +2. Add the following Badaso provider and JWT provider to ```/config/app.php```. + +``` +'providers' => [ + ..., + Uasoft\Badaso\Providers\BadasoServiceProvider::class, + Tymon\JWTAuth\Providers\LaravelServiceProvider::class, +] +``` + +3. Add the following aliases to ```config/app.php```. +``` +'aliases' => [ + ..., + 'JWTAuth' => Tymon\JWTAuth\Facades\JWTAuth::class, + 'JWTFactory' => Tymon\JWTAuth\Facades\JWTFactory::class, +] +``` + +4. Add badaso providers to autoload + +``` +"autoload": { + "psr-4": { + "App\\": "app/", + "Uasoft\\Badaso\\": "packages/uasoft-indonesia/badaso/src/" + }, + ... +} +``` + +5. Copy required library from ```packages/uasoft-indonesia/badaso/composer.json``` to ```/composer.json``` then ```composer install``` + +6. Run the following commands to update dependencies in package.json and webpack. +``` +php artisan badaso:setup +``` + +7. Run the following commands in sequence. +``` +composer dump-autoload +php artisan migrate +php artisan db:seed --class=BadasoSeeder +``` + +8. Open the ```env``` file then add the following lines. +``` +#Set a key as secret key for generating JWT token +JWT_SECRET= + +#Set JWT Token lifetime, default 60 minutes +BADASO_AUTH_TOKEN_LIFETIME= + +#License key (get the license on https://badaso.uatech.co.id) +BADASO_LICENSE_KEY= + +#Set default menu to generate menu in dashboard. +#By default Badaso provide `admin` as default menu +MIX_DEFAULT_MENU=admin + +#Set Route prefix for your dashboard. +#Access dashboard via {HOST}/{MIX_ADMIN_PANEL_ROUTE_PREFIX} +MIX_ADMIN_PANEL_ROUTE_PREFIX=dashboard + +#Set prefix for api that badaso provide. By default +#Badaso provide `badaso-api` as prefix. +MIX_API_ROUTE_PREFIX=admin + +#Badaso provide Log Viewer feature. please set a route to access this feature +MIX_LOG_VIEWER_ROUTE="log-viewer" +``` +:::important +MIX_ADMIN_PANEL_ROUTE_PREFIX, MIX_API_ROUTE_PREFIX & MIX_LOG_VIEWER_ROUTE should be different +::: + +9. Add the following Badaso guard and auth provider in ```config/auth.php```. Make sure to use Badaso guard as auth default in ```config/auth.php```. + + +```php +return [ + 'defaults' => [ + 'guard' => 'badaso_guard', + 'passwords' => 'users', + ], + + 'guards' => [ + ..., + 'badaso_guard' => [ + 'driver' => 'jwt', + 'provider' => 'badaso_users', + ], + ], + + 'providers' => [ + ..., + 'badaso_users' => [ + 'driver' => 'eloquent', + 'model' => \Uasoft\Badaso\Models\User::class, + ], + ], + + ..., +] +``` + + +10. Create an admin account by typing the following command. +``` +php artisan badaso:admin your@email.com --create +``` + +11. Run the command ```npm install``` to install all of dependencies +12. Update webpack.mix.js from +``` +// Badaso +mix.js( + "vendor/uasoft-indonesia/badaso/src/resources/js/app.js", + "public/js/badaso.js" + ) +``` +into +``` +// Badaso +mix.js( + "packages/uasoft-indonesia/badaso/src/resources/js/app.js", + "public/js/badaso.js" + ) +``` +13. Run laravel with the command ```npm run watch``` if it is under development environment or ```npm run prod``` for production environment. + +## Running the tests + +To do : complete this section + +--- + +### Reporting an issue + +Before submitting an issue you need to make sure: + +- You are experiencing a concrete technical issue with Badaso. +- You have already searched for related [issues](https://github.com/uasoft-indonesia/badaso/issues), and found none open (if you found a related _closed_ issue, please link to it from your post). +- You are not asking a question about how to use Badaso or about whether or not Badaso has a certain feature. For general help using Badaso, you may: + - Refer to [the official Badaso documentation](https://badaso-docs.uatech.co.id). + - Ask a question on [github discussion](https://github.com/uasoft-indonesia/badaso/discussions). +- Your issue title is concise, on-topic and polite. +- You can and do provide steps to reproduce your issue. +- You have tried all the following (if relevant) and your issue remains: + - Make sure you have the right application started. + - Make sure the [issue template](.github/ISSUE_TEMPLATE) is respected. + - Make sure your issue body is readable and [well formatted](https://guides.github.com/features/mastering-markdown). + - Make sure the application you are using to reproduce the issue has a clean `node_modules` or `vendor` directory, meaning: + - that you haven't made any inline changes to files in the `node_modules` or `vendor` folder + - that you don't have any weird global dependency loops. The easiest way to double-check any of the above, if you aren't sure, is to run: `$ rm -rf node_modules && npm cache clear && npm install`. \ No newline at end of file