{"id":38176194,"url":"https://github.com/teamforus/forus-backend","last_synced_at":"2026-01-16T23:32:41.371Z","repository":{"id":37547930,"uuid":"134847115","full_name":"teamforus/forus-backend","owner":"teamforus","description":"Backend of the Forus platform","archived":false,"fork":false,"pushed_at":"2026-01-15T17:10:06.000Z","size":17977,"stargazers_count":2,"open_issues_count":10,"forks_count":6,"subscribers_count":4,"default_branch":"develop","last_synced_at":"2026-01-15T18:03:37.298Z","etag":null,"topics":["backend","exchange","forus","laravel","platform"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/teamforus.png","metadata":{"files":{"readme":"readme-docker.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-05-25T11:25:09.000Z","updated_at":"2026-01-14T15:28:30.000Z","dependencies_parsed_at":"2026-01-15T16:04:03.610Z","dependency_job_id":null,"html_url":"https://github.com/teamforus/forus-backend","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/teamforus/forus-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamforus%2Fforus-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamforus%2Fforus-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamforus%2Fforus-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamforus%2Fforus-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teamforus","download_url":"https://codeload.github.com/teamforus/forus-backend/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teamforus%2Fforus-backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28487586,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T22:54:02.790Z","status":"ssl_error","status_checked_at":"2026-01-16T22:50:10.344Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["backend","exchange","forus","laravel","platform"],"created_at":"2026-01-16T23:32:41.240Z","updated_at":"2026-01-16T23:32:41.318Z","avatar_url":"https://github.com/teamforus.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dockerize Forus\n\n- [Installation](#installation)\n- [Docker compose](#docker-compose)\n- [Docker image](#docker-image)\n\n# Installation\n\n**Repositories:**  \nFrontend: [https://github.com/teamforus/forus-frontend](https://**github**.com/teamforus/forus-frontend)  \nBackend: [https://github.com/teamforus/forus-backend](https://github.com/teamforus/forus-backend) \n\n## Get the project from github\nFirst, you need to clone the project from GitHub:  \n```bash\ngit clone git@github.com:teamforus/forus-backend.git forus-backend\n```\n\n### Checkout to the branch you want to test:\nGo to the newly created folder `forus-backend` and checkout to the branch you want to test:\n```\ncd forus-backend\ngit checkout \u003cBRANCH_NAME\u003e\n```\n\n## Docker compose\n___\n\nUsing docker compose you can start all the necessary services to run the backend (`PHP`, `apache2`, `MySQL` and `PhpMyAdmin`), and mount the project directory as a container volume. This will allow you to edit the files within the container for easier development and testing.\n\nRun `docker compose` command to build the images:\n``` \ndocker compose build\n```\n\nNext, you can run a bash script, to perform the next operations:\n- Create the .env file from .env.example (if it doesn't already exist).\n- Start (PHP, apache2, MySQL and PhpMyAdmin) containers.\n- Connect your project directory as container volume.\n- Remove the existing `vendor` directory (to ensure clean composer install).\n- Install composer dependencies.\n- Set generate app key and create the storage soft link.\n\n```bash\n./docker/cmd/start-docker-compose.sh\n```\nPlease check the `start-docker compose.sh` for more details.\n\n## Links\nIf everything fine, you should be able to find the `backend` and `phpMyAdmin` at following urls:\n___\n[http://localhost:8000](http://localhost:8000) - backend   \n[http://localhost:8080](http://localhost:8080) - phpmyadmin \n\nPhpMyAdmin login and password: \n```\nuser: forus \npassword: forus\n```\n\n## Initial setup\n___\n\nIf you are running the project for the first time, you will need to adjust the `.env` file to set all the necessary API keys and other configs and files (like certificates for push notifications or SMTP credentials to send auth emails and user notifications).\n\n### Migrations\n___\nWhen you are ready, you can use the next command to run the migrations (this will create the database structure):\n``` \ndocker compose exec app bash -c \"composer dumpautoload \u0026\u0026 php artisan migrate\"\n```\n\n### Seeders\n___\nThen you need to run the seeder to fill the base system tables like: `product-categories`, `record-types` and other system tables (which are needed to run the project): \n```bash \ndocker compose exec app bash -c \"php artisan db:seed\"\n```\n\nNow you should be able to use the backend to create organizations, funds and products.\n\n### Seed test data\n___\nOn the previous step we prepared a clean project without any organizations, funds or products. Now you can go ahead and create a user account, register sponsors and providers, then create funds and products and so on.  \n\nOr you can use the next command to generate test data. \n\nBut first you need to configure the data you will generate.  \nPlease run the following command to create a custom config file.\n```bash\ncp -R ./config/forus/test_data/configs/custom.example ./config/forus/test_data/custom\n```\n\nNow you need to adjust the config file you just created.\n```bash\nnano ./config/forus/test_data/configs/custom/config.php\n```\n\nThe file from the example only has ```primary_email``` key which represents the default email used to create all test organizations.  \n\nPlease set this email to an email address you have access to, you will use it to log in into the dashboards and webshops.  \nExample:\n```php\n\u003c?php\n\nreturn [\n    'primary_email' =\u003e 'your-email@example.com',\n];\n```\n\nPlease note there are more variables that can be changed.  \nTo see the full list, please read the default config file and copy all the keys you want to overwrite to your ```custom.php``` file.  \n\nRun the following command to read the default config file:  \n```bash\nnano ./config/forus/test_data/configs/default/config.php\n```\nAlso, you can edit funds.php file to adjust created fund details:\n```bash\nnano ./config/forus/test_data/configs/custom/funds.php\n```\nAdd new keys to the array to add new funds or use existing keys to adjust the funds from the default funds.php file.  \nSee the list of all the default funds:   \n```bash\nnano ./config/forus/test_data/configs/default/funds.php\n```\nTo seed the test data after you finished editing your config file run:\n```bash\ndocker compose exec app php artisan test-data:seed\n```\n\n## Update composer dependencies\n___\nSince you just initiated the project, your composer dependencies should be up-to-date. \n\nHowever, if you switch to another branch or pull new commits your installed composer dependencies might get outdated, and you might have to manually install the update. For that, please run the following command to make sure your dependencies are up to date. \n``` \ndocker compose exec app composer install\n```\n\n## Stopping the containers\n___\nTo stop the containers please run:\n```bash\ndocker compose down\n```\n\n## Restarting the containers\n___\nTo start again existing container, without `composer install` run:\n```bash\ndocker compose up -d\n```\n\n# Docker image\nAnother way to run the project, is to use a prebuilt docker image.\n\nYou can either build the forus-backend image yourself locally or download the image from docker-hub (will be available later).\n\n## Build docker image:\n___\nFirst build docker image:\n```bash\ndocker build -t forus-io/forus-backend .\n```\n\n## Start the containers:\nThe next command will start the containers (`php`, `apache2`, `mysql` and `phpmyadmin`)\n```bash\n./docker/cmd/start.sh\n```\n\n## Edit the `.env` file\n___\nIf you want to make changes to the `.env` file from the container - adjust the `.env` file from the project directory and run the following command to update the `.env` file within the container.\n``` \ndocker exec -it forus-backend nano .env\n```\n\n## Database\n___\n\nTo run the migrations (create db structure):\n```bash\ndocker exec -it forus-backend bash -c \"composer dumpautoload \u0026\u0026 php artisan migrate\" \n```\n\nAnd base seeders (bare minimum):\n```bash\ndocker exec -it forus-backend bash -c \"php artisan db:seed\"\n```\n\nTo generate test data, please run:\n```bash\ndocker exec -it forus-backend bash -c \"php artisan test-data:seed\"\n```\n\nTo reset the database run:  \n**WARNING!** this will drop all existing tables\n```bash\ndocker exec -it forus-backend bash -c \"php artisan migrate:reset\"\n```\n\n## Links\n___\n[http://localhost:8000](http://localhost:8000) - backend   \n[http://localhost:8080](http://localhost:8080) - phpmyadmin \n\nPhpMyAdmin login and password: \n```\nuser: forus \npassword: forus\n```\n\n## Stop containers\nTo stop containers:\n```bash\ndocker stop forus-backend-db\ndocker stop forus-backend-app\ndocker stop forus-backend-phpmyadmin\ndocker network rm forus-network\n```\n\nOr \n```bash\n./docker/cmd/stop.sh\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteamforus%2Fforus-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteamforus%2Fforus-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteamforus%2Fforus-backend/lists"}