{"id":19272310,"url":"https://github.com/sdslabs/quark","last_synced_at":"2025-04-21T22:31:24.672Z","repository":{"id":56551505,"uuid":"75004835","full_name":"sdslabs/quark","owner":"sdslabs","description":"An open source framework to build competitive platforms ","archived":false,"fork":false,"pushed_at":"2020-11-01T04:13:23.000Z","size":1980,"stargazers_count":34,"open_issues_count":11,"forks_count":1,"subscribers_count":33,"default_branch":"master","last_synced_at":"2024-04-09T22:03:25.306Z","etag":null,"topics":["hacktoberfest","hacktoberfest2020","laravel","php","quark","sdslabs"],"latest_commit_sha":null,"homepage":"https://quark.sdslabs.co","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sdslabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-28T19:00:39.000Z","updated_at":"2023-01-09T17:15:20.000Z","dependencies_parsed_at":"2022-08-15T20:50:19.006Z","dependency_job_id":null,"html_url":"https://github.com/sdslabs/quark","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdslabs%2Fquark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdslabs%2Fquark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdslabs%2Fquark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdslabs%2Fquark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdslabs","download_url":"https://codeload.github.com/sdslabs/quark/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223881304,"owners_count":17219263,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","hacktoberfest2020","laravel","php","quark","sdslabs"],"created_at":"2024-11-09T20:36:14.325Z","updated_at":"2024-11-09T20:36:14.870Z","avatar_url":"https://github.com/sdslabs.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quark\n\nThis is a Laravel package that provides a code application for building platforms to host competitions.\n\n## Documentation\n\nThe entire documentation is available at: https://quark.sdslabs.co\n\n## Setup\n\n- Create and setup a new Laravel app\n\n- Add the folowwing repositories to the `composer.json`'s `repositories` field:\n```JSON\n\"repositories\": [\n\t{\n\t\t\"type\": \"vcs\",\n\t\t\"url\": \"git@github.com:sdslabs/quark\",\n\t\t\"no-api\": true\n\n\t},\n\t{\n\t\t\"type\": \"vcs\",\n\t\t\"url\": \"git@github.com:sdslabs/falcon.git\",\n\t\t\"no-api\": true\n\t}\n],\n```\n\n- Add Quark as a dependency by adding `\"sdslabs/quark\": \"dev-laravel-package\"`\nto `require` field in `composer.json`\n\n- Add Falcon as a dependency by adding `\"sdslabs/falcon\": \"dev-composer-pkg\"`\nto `require` field in `composer.json`\n\n- Run\n\n\t\t$ composer update sdslabs/*\n\n- Add `SDSLabs\\Quark\\QuarkServiceProvider::class,` under\n`* Package Service Providers...` to `config/app.php`.\n\n- Remove the migration file for `create_users_table` and `password_resets_table`\nfrom `database/migrations`.\n\n- Add `$this-\u003ecall(SDSLabs\\Quark\\Database\\Seeds\\DatabaseSeeder);` to\n`DatabaseSeeder` under `database/seeds`.\n\n- Add following config to `.env.example` and also to `.env`:\n```bash\nFALCON_CLIENT_ID=client_id\nFALCON_CLIENT_SECRET=secret\nFALCON_URL_ACCESS_TOKEN=http://falcon.sdslabs.local/access_token\nFALCON_URL_RESOURCE_ONWER_DETAILS=http://falcon.sdslabs.local/users/\nFALCON_ACCOUNTS_URL=http://arceus.sdslabs.local/\nFALCON_SCOPES=email,image_url\n```\n- `ORGANIZATIONS_ALLOWED` in `.env.example` can be provided in master app's `.env`\n\n- Update `config/auth.php`:\n\t- Update the `defaults.guard` to `falcon`\n\t- Delete the section on `guards`\n\n- Run the migrations with:\n\n\t\t$ php artisan migrate\n\n- Run the seeds with:\n\n\t\t$ php artisan db:seed\n\n- Go outside and do a dance ;)\n\n## Extending the models in the application\n\nTo extend any of the default models, first create the new model.\n\nThen add a line like `$this-\u003eapp-\u003ebind(QuarkCompetition::class, AppCompetition::class);`\nto `AppServiceProvider.php`'s register method.\n\n## Extending the controllers in the application\n\nJust override the router with your controller's methods\n\n## General instructions for this project and the application\n\n- Don't explicitly call the static methods of any class like\n`Competition::get()` or `SomethingHelper::help()`. Instead use the [IoC](https://laravel.com/docs/5.3/container#resolving) container or [Facades](https://laravel.com/docs/5.3/facades)/[Contracts](https://laravel.com/docs/5.3/contracts) .  \ne.g. `App::resolve(Competition::class)-\u003eget()`\n\n- Don't initialise the classes manually like `new Competition()`. Instead use\nIoC container's `make` method.\n\n- The above practices makes it easier to swap the underlying classes, i.e. the\nclasses used by Quark can be extended by the application and the extended\nclasses will be used inside Quarks's classes/\n\n## Working on Quark\n\n- First you need an application. If you don't have one already setup, setup a\ndemo application following the above instructions\n- Symlink the `vendor/sdslabs/quark` folder to your local clone of quark.\n\n## How can I contribute?\n\nRead [here](CONTRIBUTING.md) to know our contribution guidelines. Ping us at chat.sdslabs.co to get guidance. You can start with setting up Quark on your machine and try solving a few bugs listed here: https://github.com/sdslabs/quark/issues\nYou can also have a look at the sample app [sdslabs/laplace-no-ma](https://github.com/sdslabs/laplace-no-ma) that uses Quark.\n\n## License\n\nThis project is under the MIT license\n\n## Community Support\n\n\u003cimg src=\"https://avatars1.githubusercontent.com/u/3220138?v=3\u0026s=120\" align=\"right\" /\u003e\nIf you are interested in talking to the SDSLabs team, you can find us on our \u003ca href=\"https://discord.gg/psEZWvY\"\u003eSDSLabs Open Source Discord Server\u003c/a\u003e. Feel free to drop by and say hello. You'll find us posting about upcoming features and beta releases, answering technical support questions, and contemplating world peace.\n\n\u003cp align=center\u003eCreated by SDSLabs with :heart:\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsdslabs%2Fquark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsdslabs%2Fquark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsdslabs%2Fquark/lists"}